Google+ API 让人们"me"



在Google+ API上进行身份验证后,我终于成功地使用https://www.googleapis.com/plus/v1/people/{MyUserId}?key={ApiKey}检索了我的信息

然而,尽管我确实获得了一个作用域为https://www.googleapis.com/auth/plus.me的访问令牌,但我不能请求"me": https://www.googleapis.com/plus/v1/people/me?key={ApiKey}

我结束了一个401未经授权的请求…很晚了,我不知道我错过了什么。

下面是我的代码:
       string apiUrl = "https://www.googleapis.com/plus/v1/people/me?key={my api key";
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(apiUrl);
        request.Method = HttpMethod.GET.ToString();
        try
        {
            using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
            {
               => 401 error

谢谢你的帮助!

这并没有直接回答你的问题,但是你尝试过。net的Google api客户端库吗?

见:http://code.google.com/p/google-api-dotnet-client/

http://code.google.com/p/google-api-dotnet-client/wiki/OAuth2

http://code.google.com/p/google-api-dotnet-client/wiki/APIs谷歌+ _API

401错误很可能意味着您的访问令牌已经过期,需要使用刷新令牌进行刷新。

我迟到了3年,但是我在寻找一个几乎相同问题的解决方案时发现了这篇文章。我试图避免使用谷歌的API,然而,所以我想我应该张贴我自己的解决方案,以防有人想看到一种没有谷歌API的方法。我使用RestSharp来处理HTTP请求,但这不是必要的。

//craft the request
string requestUrl = "https://www.googleapis.com/plus/v1/people/me?access_token=" + AccessToken;
RestClient rc = new RestClient();
RestRequest request = new RestRequest(requestUrl, Method.GET);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("x-li-format", "json");
request.RequestFormat = DataFormat.Json;
//send the request, and check the response.
RestResponse restResponse = (RestResponse)rc.Execute(request);
if (!restResponse.ResponseStatus.Equals(ResponseStatus.Completed)) { return null; }

问题中与原始实现的主要区别不是我使用了RestSharp——这无关紧要。主要区别在于,我在查询字符串中传递了一个access_token,而不是一个键。

相关内容

  • 没有找到相关文章

最新更新