如何在 Google API 请求中提供 Header 信息,例如包名称和 SHA1?
How do I supply Header info such as Package Name and SHA1 in Google API request?
我正在尝试使用 dotNet SDK 访问 Google API。当我没有 API 限制时,我可以使用以下代码访问并获取 JSON 。我仍然可以访问 IP 地址限制。但是当我想使用应用程序限制时,我必须提供我已经生成的包名称和 SHA-1。
我只是不知道如何在请求 API 获取时提供此 header 信息。
有几种方法可以实现凭据。通过使用服务帐户,我只需要提供电子邮件和私钥,但我不想使用 OAuth 访问权限。请让我知道是否有最好的实现方式。
var youtubeService = new YouTubeService(new BaseClientService.Initializer()
{
ApiKey = "****",
// HttpClientInitializer = credential,
ApplicationName = "*****"
});
Xamarin 和 Google APIs .net 客户端库
您似乎在尝试将 Google apis .net client library 与 Xamarin. Google apis .net 客户端库不支持 Xamarin。
请看问题Investigate Xamarin support #984
我怀疑您至少需要自己编写所有身份验证代码,然后您才能使某些 class 库正常工作。我的调查使我相信库和 Xamarin 的主要问题是授权实现。
服务帐户和 YouTube
YouTube API 不支持服务帐户身份验证,您需要使用 Oauth2 并以这种方式对您的用户进行身份验证。
所以我找到了提供包名称和 SHA1 的正确方法。现在我可以通过应用程序限制正确获取 Json return。
youtubeService.HttpClient.DefaultRequestHeaders.Add("X-Android-Package", AppInfo.PackageName);
youtubeService.HttpClient.DefaultRequestHeaders.Add("X-Android-Cert","******");
SHA-1 证书指纹在 API 请求中发送时必须是 不带分号的小写字符串 header.
有没有办法在代码中获取 SHA1 而不是简单地将其作为字符串?也请让我知道是否有更好的编码方式 youtubeService.HttpClient.DefaultRequestHeaders.Add
我从 this post 那里得到了线索。
我正在尝试使用 dotNet SDK 访问 Google API。当我没有 API 限制时,我可以使用以下代码访问并获取 JSON 。我仍然可以访问 IP 地址限制。但是当我想使用应用程序限制时,我必须提供我已经生成的包名称和 SHA-1。
我只是不知道如何在请求 API 获取时提供此 header 信息。 有几种方法可以实现凭据。通过使用服务帐户,我只需要提供电子邮件和私钥,但我不想使用 OAuth 访问权限。请让我知道是否有最好的实现方式。
var youtubeService = new YouTubeService(new BaseClientService.Initializer()
{
ApiKey = "****",
// HttpClientInitializer = credential,
ApplicationName = "*****"
});
Xamarin 和 Google APIs .net 客户端库
您似乎在尝试将 Google apis .net client library 与 Xamarin. Google apis .net 客户端库不支持 Xamarin。
请看问题Investigate Xamarin support #984
我怀疑您至少需要自己编写所有身份验证代码,然后您才能使某些 class 库正常工作。我的调查使我相信库和 Xamarin 的主要问题是授权实现。
服务帐户和 YouTube
YouTube API 不支持服务帐户身份验证,您需要使用 Oauth2 并以这种方式对您的用户进行身份验证。
所以我找到了提供包名称和 SHA1 的正确方法。现在我可以通过应用程序限制正确获取 Json return。
youtubeService.HttpClient.DefaultRequestHeaders.Add("X-Android-Package", AppInfo.PackageName);
youtubeService.HttpClient.DefaultRequestHeaders.Add("X-Android-Cert","******");
SHA-1 证书指纹在 API 请求中发送时必须是 不带分号的小写字符串 header.
有没有办法在代码中获取 SHA1 而不是简单地将其作为字符串?也请让我知道是否有更好的编码方式 youtubeService.HttpClient.DefaultRequestHeaders.Add
我从 this post 那里得到了线索。