0

私は会社用の Web/アプリの作成に取り組んでおり (暇な時間に)、顧客がアクセスして、公開したアプリの Google レビューを取得して返信できるようにしています。Google は、このために機能するはずのReply to Reviews APIをリリースしました。

Gaining Access の部分がわかりません。

サービス アカウントを使用しようとしています。私は OAuth2 サービス アカウントを作成し、アクセスを許可し、秘密鍵をダウンロードし、ここ(以下) で提供されているサンプルに従うのにうんざりしました。

この例では、Plus サービスを使用していることがわかります。私の質問は、どのサービスを使用することになっているのですか? プラスサービスは私が望むものではないと思います。

この方法で証明書を生成することは、auth_token を取得するための正しい方法ですか (Review to Reviews API ドキュメント内)?

ご協力いただきありがとうございます!

using System;
using System.Security.Cryptography.X509Certificates;

using Google.Apis.Auth.OAuth2;
using Google.Apis.Plus.v1;
using Google.Apis.Plus.v1.Data;
using Google.Apis.Services;

namespace Google.Apis.Samples.PlusServiceAccount
{
/// <summary>
/// This sample demonstrates the simplest use case for a Service Account service.
/// The certificate needs to be downloaded from the Google Developers Console
/// <see cref="https://console.developers.google.com/">
///   "Create another client ID..." -> "Service Account" -> Download the certificate,
///   rename it as "key.p12" and add it to the project. Don't forget to change the Build action
///   to "Content" and the Copy to Output Directory to "Copy if newer".
/// </summary>
public class Program
{
    // A known public activity.
    private static String ACTIVITY_ID = "z12gtjhq3qn2xxl2o224exwiqruvtda0i";

    public static void Main(string[] args)
    {
        Console.WriteLine("Plus API - Service Account");
        Console.WriteLine("==========================");

        String serviceAccountEmail = "SERVICE_ACCOUNT_EMAIL_HERE";

        var certificate = new X509Certificate2(@"key.p12", "notasecret", X509KeyStorageFlags.Exportable);

        ServiceAccountCredential credential = new ServiceAccountCredential(
           new ServiceAccountCredential.Initializer(serviceAccountEmail)
           {
               Scopes = new[] { PlusService.Scope.PlusMe }
           }.FromCertificate(certificate));

        // Create the service.
        var service = new PlusService(new BaseClientService.Initializer()
        {
            HttpClientInitializer = credential,
            ApplicationName = "Plus API Sample",
        });

        Activity activity = service.Activities.Get(ACTIVITY_ID).Execute();
        Console.WriteLine("  Activity: " + activity.Object.Content);
        Console.WriteLine("  Video: " + activity.Object.Attachments[0].Url);

        Console.WriteLine("Press any key to continue...");
        Console.ReadKey();
    }
}
}
4

2 に答える 2

0

私の質問は、どのサービスを使用することになっているのですか? プラスサービスは私が望むものではないと思います。

Reply to Reviews API を使用するには、OAuth クライアントまたはサービス アカウントを使用して承認を提供します。

したがって、2 つの方法があります。

  1. OAuth2 の使用:インストール済みアプリケーション

/resources/client_secrets.json ファイルを編集して、クライアント ID、クライアント シークレット、およびリダイレクト URI を追加します。main() メソッドを使用してサンプル クラスを実行し、認証フローを開始します。

ブラウザ ウィンドウが開き、ログインを求められます。アカウントが Google Play デベロッパー コンソールで適切な権限を持っていることを確認してください。権限ダイアログを受け入れます。ブラウザーに「認証フローが完了しました」と表示されます。ウィンドウを閉じて IDE に戻り、コンソール出力を確認します。スクリプトは apk のリストを出力します。トークンは、ホーム フォルダーの .store/android_publisher_api に保存されます。認証フローを再開するには、このファイルを削除してください。

  1. OAuth2 の使用:サービス アカウントApplicationConfig.java を編集し、サービス アカウントのメール アドレスを追加します。Google API コンソールで生成されたサービス アカウント キー ファイルを同じディレクトリにコピーし、名前を key.p12 に変更します。IDE で main() メソッドを使用してサンプル クラスを実行します。スクリプトは apk のリストを出力します。

Githubの完全なサンプルを次に示します。

于 2016-06-10T10:57:49.563 に答える