Как предоставить информацию заголовка, такую ​​как имя пакета и SHA1, в запросе API Google? - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь получить доступ к Google API с помощью dotNet SDK.Когда у меня нет ограничений API, я могу просто получить доступ и получить JSON, используя следующий код.Я все еще могу получить доступ с ограничением IP-адреса.Но когда я хочу использовать с ограничением приложения, я должен предоставить Имя пакета и SHA-1, которые я уже сгенерировал.

Я просто не знаю, как предоставить эту информацию заголовка при запросе API get.Есть несколько способов реализовать учетные данные.Используя учетную запись службы, мне нужно только указать электронную почту и закрытый ключ, но я не хочу использовать OAuth-доступ.Пожалуйста, дайте мне знать, если есть лучший способ реализовать это.

var youtubeService = new YouTubeService(new BaseClientService.Initializer()
{
    ApiKey = "****",
    // HttpClientInitializer = credential,
    ApplicationName = "*****"
});

Аналогичное решение, но оно на Java

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Итак, я нашел правильный способ указать имя пакета и SHA1.Теперь я могу получить правильный возврат Json с ограничением приложения.

youtubeService.HttpClient.DefaultRequestHeaders.Add("X-Android-Package", AppInfo.PackageName);
youtubeService.HttpClient.DefaultRequestHeaders.Add("X-Android-Cert","******");

SHA-1 отпечаток сертификата должен быть в строчной строке без точки с запятой при отправкезаголовок запроса API.

И есть ли способ получить SHA1 в коде вместо простого помещения его в виде строки?Пожалуйста, дайте мне знать, если есть лучший способ кодировать это youtubeService.HttpClient.DefaultRequestHeaders.Add

Я получил подсказку от этого поста .

0 голосов
/ 27 февраля 2019

Xamarin и клиентская библиотека .net API Google

Вы, похоже, пытаетесь использовать клиентскую библиотеку Google apis .net с Xamarin.Клиентская библиотека Google apis .net не поддерживает Xamarin.

Пожалуйста, смотрите проблему Изучите службу поддержки Xamarin # 984

Я подозреваю, что вам, по крайней мере, нужно будет самостоятельно кодировать всю аутентификацию, после чего вы сможете получить некоторыеиз библиотеки классов для работы.Мое расследование заставляет меня поверить, что основной проблемой библиотеки и Xamarin является реализация авторизации.

Сервисный аккаунт и YouTube

YouTube API не поддерживает сервисный аккаунтаутентификация, вам нужно будет использовать Oauth2 и аутентифицировать своего пользователя таким образом.

...