Patreon DiscourseプラグインをAPI v2にアップグレード

こんにちは :waving_hand:

Patreon Discourse プラグイン は、数年前に非推奨となった Patreon API v1 を引き続き使用しています。連携を正しく機能させるためには、API v2 を使用するように更新する必要があります。

Patreon の API v2 はサポートされているバージョンであり、v1 と同等の機能に加え、より一貫性のあるデータモデルと改善されたリソース関係を提供します。
ドキュメント:

主要な移行に関する注意点:

  • 現在 /api/oauth2/ を使用している一部の API 呼び出しは、v2 エンドポイントに更新する必要があります。

  • プラグインのユーザーは、移行中に v2 スコープを持つ新しい Patreon OAuth クライアントを作成する必要があります。v1 クライアントは互換性がありません。

  • データ構造(キャンペーン、メンバー、プレッジなど)は、v2 では異なるモデルになっています。

このような更新のプロセスについて知りたいです。この移行に関するガイダンスを提供できれば幸いです。

この連携を維持していただきありがとうございます :folded_hands:

「いいね!」 2

この件についてフォローアップしたかったのですが、このプラグインはまだ活発にメンテナンスされていますか、それとも非アクティブと見なして、v1 APIの終了によりプラグインが動作しなくなると想定すべきでしょうか?

「いいね!」 1

はい。公式プラグインであり、コアに含まれており、最新のコミットが先週行われているため、まだ活発にメンテナンスされていると信じています。

「いいね!」 1

前回調査した際、PatreonはAPI v2を担当していたチームを途中で解散させたため、API v1は無期限に動作するとのことでした。

これと異なることを示すリソースへのリンクはありますか?

「いいね!」 1

ご連絡ありがとうございます!情報源ですが、私はPatreonチームのエンジニアです。弊社の公開ドキュメントとクライアント作成フローには、v1の非推奨に関する注意書きがあります。V2は5年以上にわたり主要なAPIとなっており、Discourseはまだそれを使用していない最後のインテグレーションの1つです。

編集:追加情報が必要な場合は、DMまたはメール(Discourseからの通知を受け取れない場合があるため)で遠慮なくご連絡ください。

「いいね!」 6

こんにちは、@Falco さん、プラグインの更新に関する進捗や計画はありますか?v1 の廃止による影響を最小限に抑えたいと考えています。

「いいね!」 3

来週、更新を試みます。テスト用の認証情報を入手できますか?

「いいね!」 4

素晴らしい、@falcoさん、ありがとうございます!Patreonにはパブリックテストユーザーはいません。これをテストするための最良の方法として、以下を提案します。

  1. テストアカウントを作成し(https://www.patreon.com/login)、メールアドレスを認証します。
  2. OAuthクライアントを作成できるのはクリエイターのみです。クリエイターキャンペーンを開始するには、https://patreon.com/create にアクセスする必要があります(キャンペーンを開始と見なされるにはメールアドレスの認証が必要です)。
  3. テストティアを作成します(https://patreon.com/c/yourvanity/membership)。
  4. これで、https://www.patreon.com/portal/registration/register-clients でv2 APIクライアントを作成できます。

アクセス制限/メンバーシップ機能をテストするには、別のテストアカウントを作成します。その後、テストキャンペーンの無料ティアに申し込むか、クリエイターからギフトメンバーシップを付与してもらうことができます。

来週、DMでペアになってお手伝いできることを嬉しく思います。

「いいね!」 1

どんなに試しても、このフォームで送信ボタンを有効にできません

これが変更をマージする際の唯一の障壁となっています

「いいね!」 5

@Falco 本日早些頃、この問題の修正版をリリースしました。申し訳ありません!

「いいね!」 2

はい、テストサイトでは正常に動作しています。月曜日の早朝に変更をマージします。

「いいね!」 3

迅速に対応いただき、ありがとうございます!

v2 へのアップグレードとは直接関係ありませんが、この PR を作成されている間に一般的なお願いがあります。ユーザーエージェントをカスタム値に設定していただけないでしょうか?例えば Discourse-Patreon-Plugin/vX.x のような値です。これにより、将来的な API 問題のデバッグやクライアントの識別が容易になる可能性があります。v1 の廃止に伴い、多くの Faraday のユーザーエージェントを確認したところ、Discourse が残存する v1 アプリの一つであると特定できました。

「いいね!」 3

良いアイデアですね、PR に追加しました。

「いいね!」 5