2011-04-16 26 views
5

Google API'lerini kullanmak için google geçerli jetonunu almam gerekiyor, ancak kodum çalışmıyor. lütfen bana tavsiyede bulunabilir misiniz?Google API Token alın

$client_id = '495225261106.apps.googleusercontent.com'; 
$client_secret = urlencode('MY_SECRET_CDE'); 
$redirect_uri = urlencode('http://MYPAGE.net/test.php'); 
//$grant_type = urlencode('authorization_code'); //it does not work either. 
$grant_type = 'authorization_code'; 

$post_string = "code=4/P7q7W91a-oMsCeLvIaQm6bTrgtp6&client_id={$client_id}&client_secret={$client_secret}&redirect_uri={$redirect_uri}&grant_type={$grant_type}"; 

//echo_key_value('post_string',$post_string); 

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, 'https://accounts.google.com/o/oauth2/token'); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
$result = curl_exec($ch); // Execute the HTTP command 
$errmsg = curl_error($ch); 

if($errmsg) echo $errmsg; 

// çıkışı: { "hata": "invalid_grant"} //

teşekkürler!

+0

ben javascript bu uygulamaya çalışıyorum İşte

PHP biri için bir bağlantı var ama aynı hataya koşuyoruz. Komut hattından kıvrım kullanmayı denedim ve hala şans yok. [Bu sayfadaki] talimatları takip ettim (http://code.google.com/apis/accounts/docs/OAuth2.html) bir T. – Abe

cevap

1

Resmi istemci kitaplıklarından biri aracılığıyla Google API'lerini, özellikle OAuth öğelerini kullanmayı daha kolay bulabilirsiniz. http://code.google.com/p/google-api-php-client/

Ve (bazı büyük örnek kodu ile) kütüphane ile OAuth 2.0 dokümanlar için bir bağlantı: http://code.google.com/p/google-api-php-client/wiki/OAuth2

+0

için aynı sorunu yaşıyorum, geçersiz hibe, ben Verileri hata ayıklama amacıyla bir tarayıcıyla göndererek. Kitaplıklarını kullanmak, hatanın neden ortaya çıktığını açıklamıyor –

1

Postfields kullanmadan önce "curl_setopt ($ ch, CURLOPT_POST, true); Benimki çalışıyor ve benim sırrımla ilgili bir deşifre kullanmadım, aynı