Google+ API - 通过电子邮件获取用户ID?

时间:2011-09-15 21:00:44

标签: php google-plus

Google刚刚发布了适用于Google+社交网络的API

但是如何获得用户的数字ID?还是我被迫使用oAuth?

我知道当您访问/外国个人资料页面时会在URL中写入,但如何使用

进行编程

信息:
http://developers.google.com/+/api/latest/people/get
http://developers.google.com/+/api/oauth

2 个答案:

答案 0 :(得分:5)

(我正在使用Python API)

使用OAuth时,您可以使用字符串'me'而不是userId,这样您就可以检索经过身份验证的用户的公开内容:

print service.activities().list(userId='me',collection='public').execute()

我假设你正在使用PHP API(查看你的标签),试着把'me'而不是userId。

修改 检索经过身份验证的用户的配置文件时,您可以从“id”字段获取userId(从http://developers.google.com/+/api/获取JSON响应):

{
  "kind": "plus#person",
  "id": "118051310819094153327",
  "displayName": "Chirag Shah",
  "url": "https://plus.google.com/118051310819094153327",
  "image": {
    "url": "https://lh5.googleusercontent.com/-XnZDEoiF09Y/AAAAAAAAAAI/AAAAAAAAYCI/7fow4a2UTMU/photo.jpg"
  }
}

答案 1 :(得分:1)

这是你可以用php做的事情

$client->setScopes(array('https://www.googleapis.com/auth/plus.me','https://www.googleapis.com/auth/userinfo.email'));

    $url = 'https://www.googleapis.com/oauth2/v1/userinfo';
    $request = $client->getIo()->authenticatedRequest(new apiHttpRequest($url)); 
    if ($request->getResponseHttpCode() != 200) {
        throw new apiException("http code: " . $request->getResponseHttpCode() . ", response body: " . $request->getResponseBody());
    } 
    $temp = json_decode($request->getResponseBody(), true);
    print_r($temp);