2011-09-15 13 views
7

Sono solo pochi momenti che Google ha pubblicato la sua API per il social network Google+API di Google+: ottieni l'ID utente via e-mail?

Ma come posso ottenere l'ID numerico dell'utente? O sono obbligato a usare oAuth?

Lo so che è scritto lì in URL quando si accede alla pagina del profilo/straniero, ma come farlo programmaticaly con

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

+0

Quale API stai utilizzando. Sto lavorando sulla loro java api e ho visto il loro pacchetto plus.model. Non c'è modo in cui possiamo ottenere cerchi o persone in cerchio, quindi penso che non possiamo ottenere id di questa persona. Vuoi ottenere id di amici nelle tue cerchie o casuali? –

+0

ovviamente correlato, quindi id di persone in cicrles, quindi questa è la prossima cosa che manca nella loro prima versione di API, dannazione –

+0

hai provato qualcuno dei loro altri api –

risposta

5

(sto usando API Python)

Quando si utilizza OAuth, è possibile utilizzare la stringa "me" anziché userId, in questo modo è possibile recuperare il contenuto pubblico dell'utente autenticato :

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

Presumo che si sta utilizzando PHP API (guardando i tag), prova a mettere 'me', invece di userId.

Edit: Quando si recuperano profilo dei autenticati degli utenti, è possibile ottenere l'ID utente dal "id" campo (risposta JSON tratto da 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" 
    } 
} 
0

Questo è ciò che si può fare in 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); 
Problemi correlati