Google Custom Search API - Engine-Abruf von Engine-Daten schlägt fehl

Ich muss CRUD für benutzerdefinierte Suchmaschinen ausführen. VonDokumentatio, es sieht ziemlich direkt aus. Ich bekomme aber immer wieder 401 Antworten.

Ich benutze Google.Apis.Oauth2.v2, um ein Token zu erhalten:

String serviceAccountEmail = "[email protected]";

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

var credential = new ServiceAccountCredential(
   new ServiceAccountCredential.Initializer(serviceAccountEmail)
   {
      Scopes = new[] { "https://www.googleapis.com/auth/cse" }
   }.FromCertificate(certificate));

bool result = credential.RequestAccessTokenAsync(CancellationToken.None).Result;
TokenResponse token = credential.Token;

Ich füge dann das Token der folgenden Anforderung hinzu (Authorization: Bearer mytoken):

GET http://cse.google.com/api/<USER_ID>/cse/<CSE_ID>

Es gibt ein paar Dinge, die auf mich losgehen.

Genaues Zitat aus der Dokumentation:

Obwohl Sie HTTP-Anforderungen auf die URL festlegen könnenhttp: //cse.google.com/api/ [USER_ID] / cse / [CSE_ID], wir empfehlen stattdessen die Verwendung der folgenden URL:

http: //cse.google.com/api/ [USER_ID] / cse / [CSE_ID]

Beachten Sie, dass beide URLs genau gleich sind.

Im Authentifizierungsabschnitt verwendet das Beispiel ClientLogin, das veraltet ist. Keine Beispiele mit OAuth 2.0.

m Beispiel des Dokuments heißt es:

Jede benutzerdefinierte Suchmaschine wird durch eine eindeutige ID identifiziert, die durch Kombinieren einer Benutzer-ID mit einer benutzerdefinierten Suchmaschinen-ID, getrennt durch einen Doppelpunkt, erstellt wird.

011737558837375720776: mbfrjmyam1g In diesem Fall lautet die Benutzer-ID 011737558837375720776 und die Suchmaschinen-ID mbfrjmyam.

Du hättest gemerkt, dass die Suchmaschinen-ID 2 Zeichen kleiner ist, als sie aussehen sollte.

Nirgendwo habe ich den Bereich als "https: //www.googleapis.com/auth/cs ". Ich habe es gerade von einem Stackoverflow-Post kopiert.

ch verstehe, dass dies eine sehr lange Frage ist, aber ich hoffe, dass dies der nächsten Person hilft, dies zu betrachten und diese Punkte zu berücksichtige

Weiß jemand warum die 401er?

Antworten auf die Frage(0)

Ihre Antwort auf die Frage