Google+ API - получить идентификатор пользователя по электронной почте? - PullRequest
7 голосов
/ 16 сентября 2011

Это всего лишь несколько минут, когда Google опубликовал свой API для социальной сети Google+

Но как я могу получить числовой идентификатор пользователя?Или я вынужден использовать oAuth?

Я знаю, что это написано в URL при доступе к странице вашего / чужого профиля, но как это сделать программно с помощью

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

Ответы [ 2 ]

5 голосов
/ 16 сентября 2011

(я использую Python API)

При использовании OAuth вы можете использовать строку 'me' вместо userId, чтобы вы могли получить общедоступный контент аутентифицированного пользователя:

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

Я предполагаю, что вы используете PHP API (просматривая ваши теги), попробуйте поставить вместо меня "userId" "я".

Edit: При получении профиля аутентифицированных пользователей вы можете получить userId из поля «id» (ответ JSON взят из http://developers.google.com/+/api/):

{
  "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 голос
/ 03 апреля 2012

Это то, что вы можете сделать в 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);
...