2010-12-03 39 views
5

Facebook uygulama geliştirmeye yeni başladım. Ben bir kimlik doğrulama sorunu ile şaşırıp, ben bu adresi kullanın çalışıyorum:"Geçersiz doğrulama kodu biçimi." facebook oauth hatası

https://graph.facebook.com/oauth/access_token?client_id= $ client_id & client_secret = $ client_secret & type = client_credentials & redirect_uri = http://www.wesbite.com/facebook/&scope=email,offline_access

ama bu hatayı alırsınız: "Geçersiz doğrulama kod formatı.

Son üç saat boyunca bunu çözmeye çalışıyorum ve sonuç yok. Bu mesajı google'a denemeye çalışıyorum ama görünüşe göre bu popüler değil.

Lütfen yardım edebilir misiniz?

Düzenleme:

$ url = "https://graph.facebook.com/oauth/access_token?client_id= $ client_id & client_secret = $ client_secret & type = client_credentials & redirect_uri: Ben bir parametre olarak url geçmesi ardından

function get_contents($link) 
{ 
if (function_exists('curl_init')) { 
    $curl = curl_init(); 
    $timeout = 0; 
    curl_setopt($curl, CURLOPT_URL, $link); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $timeout); 
    $buffer = curl_exec($curl); 
    curl_close($curl); 
    return $buffer; 
} elseif (function_exists('file_get_contents')) { 
    $buffer = file_get_contents($link); 
    return $buffer; 
} elseif (function_exists('file')) { 
    $buffer = implode('', @file($link)); 
    return $buffer; 
} else { 
    return 0; 
} 
} 

: Bu fonksiyonu kullanmak = http://www.mywebsite.com/facebook/&scope=email,offline_access ";

echo get_contents($url);

+0

ve kullandığınız kod? – Breezer

+0

, tüm değişkenlerin ayarlandığından emin olmak için echo get_contents ($ url) çağrılmadan önce $ url'yi yankılamak için yararlı olabilir. –

+0

Bunu yaptım ve ayrıca değerleri iki kez kontrol ettim ve hepsi doğru –

cevap

9

aşağıdaki bağlantı yanıtı sağladığını düşündüğünüz: http://developers.facebook.com/docs/authentication/#authenticating-users-in-a-web-application

Sen client_id ve redirect_uri ile https://graph.facebook.com/oauth/authorize aramak gerektiğini unutmayın. Bu, daha sonra tekrar bir rölelemeye geri gönderir, sorgu dizesinde bir doğrulama kodu ile https://graph.facebook.com/oauth/access_token aramanıza (kod parametresi aracılığıyla) bir oAuth erişim belirteci değiştirmek için iletebilirsiniz.

İyi şanslar! :)

+0

Çok teşekkür ederim. Bu sayfayı açıkladığınızdan 10 kez daha okudum (sanırım yanlış bir şekilde okuyordum). Bir soru olsa da, yönlendirme (konum: xxxx) kullanarak yeniden yönlendirmeye çalışıyorum, ancak yönlendirme yerine facebook düğmesi olsun. Üzerine tıklamak beni doğru sayfaya götürürdü. Bu sorunu nasıl çözebilirim –

+0

İlginç, bu Facebook JavaScript SDK'sini kullandığınıza benziyor (http://developers.facebook.com/docs/authentication/#single-sign-on-with-the-javascript-sdk) ? Eğer öyleyse, kodunuz oAuth 2.0 ile doğrudan doğruya (yani yukarıdaki çağrılara gerek yoktur) doğru içeriğe (all.js) ve komut dosyalarına (örn. FB.init) sahip olmanızı sağlayacak şekilde doğrulamalıdır. Yukarıdaki bağlantılı sayfada gösterildiği gibi, 'auth.login' etkinliğine abone olabilir ve kullanıcı kimliği doğrulandıktan sonra geri aramada yeniden yönlendirebilirsiniz. JavaScript SDK'sını kullanmıyorsanız, etiketlerini kaldırmayı deneyin. – Robarondaz

+0

Teşekkürler. Ben aslında PHP SDK kullanıyorum. Uygulamanın hiçbir bölümünde js kullanmamıştım. Uygulamaya doğrudan böyle erişirsem: www.mywebsite.com/folder (bu, uygulamanın dosyalarını kaydettiğim yerdir) İzin sayfası olan doğru sayfayı alırım. –

İlgili konular