Google+ API plus.me
本文关键字:me plus API Google+ | 更新日期: 2023-09-27 18:09:07
问题是:如何利用人。得到"我"参数?
我知道如何获得json对象时使用https://www.googleapis.com/plus/v1/people/{id}?key={key}
但是当我使用"我"作为id时,我应该包括哪些参数?
(我使用response_type=code
在auth)
(固定)
我正在使用ASP。. NET,我找到了这个链接,但是访问令牌json的POST请求抛出了一个错误。发送请求工作,但是,但是当我使用GetResponse()
时,我得到错误(400)。我也不确定我使用的uri是否正确:https://accounts.google.com/o/oauth2/token
编辑2:
问题解决了。请求是坏的,因为我在写入流之前将参数字符串转换为byte[]时使用了UTF32Encoding
而不是UTF8Encoding
。与UTF8Encoding
工作良好。:)
我在这个问题后面写的代码:
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(uri);
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.Method = "POST";
UTF8Encoding utfenc = new UTF8Encoding();
byte[] bytes = utfenc.GetBytes(parameters);
Stream os = null;
try // send the post
{
webRequest.ContentLength = bytes.Length; // Count bytes to send
os = webRequest.GetRequestStream();
os.Write(bytes, 0, bytes.Length); // Send it
}
// error handling...
try // get the response
{
HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();
if (webResponse == null)
{ return null; }
StreamReader sr = new StreamReader(webResponse.GetResponseStream());
return sr.ReadToEnd().Trim();
}
// error handling...
他用这里的参数调用它,返回的字符串(json)包含我的access_token。
我们为Google+ api开发了一个。net客户端库。这个库使得在任何。net编程语言(如c#、VB)中使用Google+ api变得非常容易。NET或ASP。净
你可以在这里找到更多关于Google+的。net库的细节:http://www.googleplustips.com/resources/3332-NET-Library-Google-APIs-released.aspx
当前版本支持所有Google+ API版本1,并与API Key一起工作。调用任何Google api只需要调用一个方法。
您可以使用me
ID,只要您使用(OAuth)认证用户的访问令牌访问应用程序。从G+ API文档中引用:
如果使用userId值"me",则此方法需要使用已授予OAuth范围https://www.googleapis.com/auth/plus.me的令牌进行身份验证。阅读更多关于使用OAuth的信息。
示例:当使用PHP API客户端时,在发出e.g.
$plus_api = new apiPlusService($client); // $client is the apiClient() object
$plus_api->activities->listActivities('me', ...);
您必须首先通过执行
设置经过身份验证的用户的访问令牌。$client->setAccessToken($access_token);
有了这个设置,me
ID将毫无问题地被识别。
我发送了一个POST请求(这里的信息)来获取Oauth2 access_token并使用:
https://www.googleapis.com/plus/v1/people/me?key={key}&access_token={token}
GetActivity和ListComments正在获取所有的数据,或者它有一些方法(使用nextPageToken)来获取所有的项目?
每个方法调用逐页返回结果集。返回的对象有一个名为NextPageToken的属性,该属性可以在下一次调用时传递,以检索结果集的下一页。