このドキュメントでは、Subscription Linking を実装する際に発生する可能性のある問題のトラブルシューティングに役立つ情報を提供します。
読み込み中の画面で Subscription Linking の行動を促すフレーズが表示されたまま先に進まない
良くない例:

図 1.Subscription Linking の行動を促すフレーズが読み込まれない。
この問題を解決するには、次の点を確認してください。
- Publisher Center のパブリケーションの設定で、ページの生成元(テスト
サブドメインを含む)を
追加の URL
として追加するようにしてください。
- URL のステータスが [確認] ではなく [確認済み] になっていることを確認します。
- 拡張アクセスの実装や Reader Revenue Manager Enterprise の実装の場合は、 その実装用に構成した OAuth 2.0 クライアントの 承認済みの JavaScript 生成元 にページの生成元(テスト サブドメインを含む)を追加するようにしてください。この設定は Google Cloud コンソールで行う必要があります。
アカウントをリンクできませんでした
良くない例:

図 2.「アカウントをリンクできませんでした」という問題。
この問題を解決するには、次の点を確認してください。
- Publisher Center で Subscription Linking の利用規約 に同意する必要があります。そのためには、Subscription Linking の設定にアクセスし、[Subscription Linking の利用規約に同意する] をクリックします。
- Google アカウントがすでにリンクされている場合、定期購読を再度リンクしようとすると、エラー メッセージが表示されます。Google アカウントの定期購読ページで定期購読のリンクを解除してから、クライアントサイドの統合テストを繰り返し行う必要があります。
Subscription Linking API を呼び出すと権限エラーが発生する
良くない例:
| コード | 403
|
| メッセージ | 'readerrevenuesubscriptionlinking.readerEntitlements.update'
リソース で拒否されました(または存在しない可能性があります)。"
|
この問題を解決するには、次の点を確認してください。
- 定期購読のリンクの設定で指定したプロジェクトと同じものを使用する必要があります。 Publisher Center で定期購読のリンクを設定する際には、 プロジェクト番号 を使用します。 プロジェクト番号 は、プロジェクト ダッシュボードで確認できます。
- プロジェクトでSubscription Linking API を有効にする必要があります。
- Identity and Access Management(IAM)のプロジェクトで、 サービス アカウントにロール として定期購読リンク管理者を付与する必要があります。ロールの変更がシステムに反映されるまでには時間がかかることがあります。サービス アカウントに適切な IAM ロールが付与されていることを確認できた後も、API 呼び出しを行う際に 403 エラーが発生した場合は、しばらくしてからもう一度リクエストをお試しください。
使用するサービス アカウントが不明な場合や、サービス アカウントに必要な IAM ロールが付与されているかどうかがわからない場合は、定期購読のリンクの設定を行うプロジェクトから Policy Analyzer を使用します。次のクエリ パラメータを使ってカスタムクエリを作成し、実行してください。
パラメータ 1 ロール ロール Subscription Linking 管理者 Subscription Linking API を呼び出す際は、適切なサービス アカウント キーを使用する必要があります。お使いのサービス アカウント キー(JSON ファイル)について、以下のプロパティを確認してください。
- type: service_account とします。
- project_id: 定期購読のリンクの設定で指定したプロジェクト番号 のプロジェクト ID でなければなりません。
- client_email: IAM のプロジェクトで定期購読リンク管理者 のロールが割り当てられているサービス アカウントと同じものにする必要があります。
Google OAuth 2.0 のトークン エンドポイント(https://oauth2.googleapis.com/token)でアクセス トークンを取得した場合、Subscription Linking API を呼び出す際に、そのトークンが期限切れではなく有効であることを確認してください。トークンが期限切れになった場合は、新しいトークンを取得する必要があります。
REST API を使用する場合は、Subscription Linking の設定で指定したパブリケーション ID を使用する必要があります。たとえば、パブリケーション ID が
example.comの場合、これがリクエスト URL に含まれていなければなりません。- ✅ 構成済みのパブリケーション ID のみを使用する:
publications/example.com/readers/10078823/entitlements - ❌ Subscription Linking の設定で指定したパブリケーション ID 以外は使用しない:
publications/example-staging.com/readers/10078823/entitlements - ❌ パブリケーション プロダクトはリクエストに含めない:
publications/example.com:premium/readers/10078823/entitlements
- ✅ 構成済みのパブリケーション ID のみを使用する:
利用資格を更新すると無効な引数エラーが発生する
良くない例:
| メッセージ | エラー: リクエストに無効な引数が含まれています |
この問題を解決するには、次の点を確認してください。
entitlementsオブジェクトが正しい形式で指定されていることを確認します。こちらの 例をご覧ください。product_idがpublication_id:productの形式になっていることを確認します。- ✅ 良い例:
"product_id":"example.com:basic" - ❌ 良くない例:
"product_id":"example.com"
- ✅ 良い例:
検索結果で記事がハイライト表示されない
この問題を解決するには、次の点を確認してください。
- すべての記事に構造化データ を追加する必要があります。リッチリザルト テストを使用して、構造化データを検証する必要があります。
- 読者の利用資格の更新に使用するプロダクト ID のセットに対応する有効な
productIDを構造化データに配置する必要があります。 - Search Console の「定期購読コンテンツ」のリッチリザルト レポートを使用して、構造化データに関連する問題を確認する必要があります。
Subscription Linking の行動を促すフレーズのメッセージの言語を変更できない

Subscription Linking の行動を促すフレーズの言語は、ユーザーの設定によって決まります。グローバルでオーバライドすることはできません。
言語は次のように決定されます。
ユーザーが Google アカウントでログインしている場合、Google アカウント設定で設定されているメイン言語(https://myaccount.google.com/language)が使用されます。
ユーザーがログインしていない場合、ブラウザまたはオペレーティング システムのメイン言語設定に基づいて言語が決まります。
Subscription Linking の行動を促すフレーズでは、一部の言語をサポートしていません。 ユーザーが設定したメイン言語がサポートされていない場合、行動を促すフレーズの言語はデフォルトで英語に設定されます。