2011-09-15 20 views
7

Google'ın Google+ sosyal ağı için API'siniGoogle+ API - e-posta ile kullanıcı kimliği alın?

yayınladığı bir kaç dakika var. Ama sayısal kullanıcı kimliğini nasıl alabilirim? Yoksa oAuth'u kullanmak zorunda mıyım?

ben size/yabancı profil sayfasına erişmek zaman URL'de orada yazılı biliyorum ama nasıl

bilgi ile programmaticaly bunu yapmak için:
http://developers.google.com/+/api/latest/people/get
http://developers.google.com/+/api/oauth

+0

. Onların java api üzerinde çalışıyorum ve onların plus.model paketini gördüm. Çevrelerinde daire veya kişi elde etmenin bir yolu yoktur, bu yüzden bu kişinin kimliklerini alamıyoruz. Çevrelerinizde veya rastgele arkadaşlarınızla arkadaşlık yapmak ister misiniz? –

+0

Tabii ilgili, bu kadar id, insanlar cicrles içinde, yani bu bir sonraki şey onların API ilk sürümünde eksik, lanet –

+0

diğer api herhangi birini denediniz mi –

cevap

5

(kullanıyorum Python API'sı)

OAuth kullanırken, userId yerine 'me' dizesini kullanabilirsiniz, bu şekilde kimliği doğrulanmış kullanıcının genel içeriğini alabilirsiniz. :

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

Ben PHP API (Etiketlerinizden bakarak) yerine kullanıcısı şunlardan koyarak beni 'deneyin kullandığınız varsayılmaktadır.

Düzenleme

: doğrulanmış kullanıcıların profil alırken, siz 'id' alanına (http://developers.google.com/+/api/ alınan JSON yanıtı) den userId alabilirsiniz :

{ 
    "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

Bu yapabileceğiniz budur php

kullandığınız API
$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); 
İlgili konular