0

Ich arbeite an der Erstellung eines Web/App für mein Unternehmen (in meiner Freizeit), um unseren Kunden den Zugriff auf Google-Rezensionen für Apps zu ermöglichen, die wir für sie veröffentlicht haben. Google hat eine Reply to Reviews API freigegeben, die dafür funktionieren sollte.Antwort auf Bewertungen API | Google Play-Entwickler-API

Ich konnte den Gaining Access-Teil nicht herausfinden.

Ich versuche, ein Dienstkonto zu verwenden. Ich habe ein OAuth2-Dienstkonto erstellt, den Zugriff gewährt, einen privaten Schlüssel heruntergeladen und bin müde, dem Beispiel zu folgen, das here (unten) bereitgestellt wird.

Ich weiß, dass in dem Beispiel es einen Plus-Dienst verwendet. Meine Fragen sind, welchen Dienst soll ich verwenden? Ich gehe davon aus, dass der Plus-Service nicht das ist, was ich will.

Generiert ein Zertifikat auf diese Weise den richtigen Weg, um das auth_token zu erhalten (in der Reply to Reviews API-Dokumentation)?

Danke für Ihre Hilfe!

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(); 
    } 
} 
} 

Antwort

0

Meine Fragen sind, welche Service soll ich verwenden werden? Ich gehe davon aus, dass der Plus-Service nicht das ist, was ich will.

Um mit der API "Reply to Reviews" arbeiten zu können, stellen Sie die Autorisierung entweder mithilfe eines OAuth-Clients oder eines Dienstkontos bereit.

So gibt es zwei Möglichkeiten.

  1. OAuth2 ein: Anwendung installiert

Bearbeiten Sie die /resources/client_secrets.json Datei und fügen Sie die Client-ID, Client-Schlüssel und umleiten uris. Führen Sie eine beliebige Beispielklasse mit der main() - Methode aus, um den Authentifizierungsablauf zu starten:

Ein Browserfenster wird geöffnet und Sie werden aufgefordert, sich anzumelden. Stellen Sie sicher, dass das Konto über die entsprechenden Berechtigungen in der Google Play Developer Console verfügt. Akzeptieren Sie den Berechtigungsdialog. Der Browser sollte anzeigen Der Authentifizierungsablauf ist abgeschlossen. Schließen Sie das Fenster und gehen Sie zurück in Ihre IDE und überprüfen Sie die Konsolenausgabe. Das Skript gibt eine Liste von apks aus. Die Token werden in .store/android_publisher_api in Ihrem Home-Ordner gespeichert. Entfernen Sie diese Datei, um den Authentifizierungsablauf neu zu starten.

  1. mit OAuth2: Dienstkonten bearbeiten ApplicationConfig.java und das Dienstkonto E-Mail-Adresse hinzufügen. Kopieren Sie die in der Google APIs-Konsole generierte Service-Account-Taste in das gleiche Verzeichnis und benennen Sie sie in key.p12 um ( ). Führen Sie eine beliebige Beispielklasse mit der main() -Methode in Ihrer IDE aus. Das Skript gibt eine Liste von APKs aus.

Hier ist eine vollständige Probe in Github.

+0

Es tut mir leid, ich hätte erwähnen sollen, dass ich versuche, dies in C# zu tun. Kennen Sie einen Weg, dies mit C# zu erreichen? –

+0

So habe ich das Github-Beispiel in Java arbeiten. In der API-Dokumentation "Reply to Reviews" heißt es, eine Reihe von Bewertungen abzurufen: "Verwenden Sie die GET-Methode, um eine Liste von Rezensionen für Ihre App anzufordern. Geben Sie in Ihrer Anfrage den vollständig qualifizierten Paketnamen für Ihre App ein com.google.android.apps.maps - und das Autorisierungstoken, das Sie erhalten haben, als Sie Zugriff auf die API erhalten haben. " 'GET https://www.googleapis.com/androidpublisher/v2/applications/your_package_name/reviews? access_token = your_auth_token' ** Was ist das Autorisierungs-Token? ** @noogui –

Verwandte Themen