API пользовательского поиска Google - Сбой при извлечении данных из движка

Мне нужно сделать CRUD на поисковых системах. ОтдокументацияЭто выглядит довольно прямо вперед. Я продолжаю получать 401 ответ, хотя.

Я использую Google.Apis.Oauth2.v2 для получения токена:

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;

Затем я добавляю токен к следующему запросу (Authorization: Bearer mytoken):

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

Есть несколько вещей, которые прыгают на меня.

Точная цитата из документации:

Хотя вы можете установить HTTP-запросы на URLhttp://cse.google.com/api/[USER_ID]/cse/[CSE_ID]вместо этого мы рекомендуем использовать следующий URL:

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

Обратите внимание, что оба URL-адреса абсолютно одинаковы.

В разделе аутентификации образец использует ClientLogin, который устарел. Нет образцов с OAuth 2.0.

В примере документа говорится:

Каждая система пользовательского поиска идентифицируется уникальным идентификатором, созданным путем объединения идентификатора пользователя с идентификатором системы пользовательского поиска, разделенным двоеточием, например:

011737558837375720776: mbfrjmyam1g В этом случае идентификатор пользователя - 011737558837375720776, а идентификатор поисковой системы - mbfrjmyam.

Вы бы заметили, что идентификатор поисковой системы на 2 символа меньше, чем должен быть.

Нигде я не видел объем какhttps://www.googleapis.com/auth/cseMsgstr "Я только что скопировал это из сообщения stackoverflow.

Я понимаю, что это очень длинный вопрос, но я надеюсь, что это поможет следующему человеку взглянуть на это и рассмотреть эти моменты.

Кто-нибудь знает, почему 401-е?

Ответы на вопрос(0)

Ваш ответ на вопрос