Facebook Connect - FBML ve PHP Client hem de kullanma

2 Cevap php

Benim ikinci Facebook sitesine bağlanmaya yapıyorum. Benim ilk sitesinde, ben, bir kullanıcı oturum sonra ben PHP Client aracılığıyla diğer bilgilere erişebilir FBML coonect facebook kullanılır. Bu site ile, aynı tam kodu kullanarak, çalışıyor gibi görünmüyor. Birinin Facebook düğmesini kullanarak oturum edebilmek istiyorum:

<fb:login-button length="long" size="medium" onlogin="facebook_onlogin();"></fb:login-button>

Onlar giriş yaptıktan sonra, facebook_onlogin () işlevi Facebook PHP Client kullanmaya çalışır bir PHP sayfası için bazı AJAX istekleri yapar. İşte bu sayfadan kod:

	$facebook = new Facebook('xxxxx API KEY xxxxx', 'xxxxx SECRET KEY xxxxx');
	//$facebook->require_login(); ** I DONT WANT THIS LINE!!

	$userID = $facebook->api_client->users_getLoggedInUser();

	if($userID) {

		$user_details = $facebook->api_client->users_getInfo($userID, 'last_name, first_name'); 
		$firstName = $user_details[0]['first_name']; 
		$lastName = $user_details[0]['last_name']; 

		$this->view->userID = $userID;
		$this->view->firstName = $firstName;
		$this->view->lastName = $lastName;
	}

Sorun PHP İstemci bir oturum anahtarı yok sanıyor, bu yüzden $ userID set olsun asla olmasıdır. (Ben ile oturum) benim facebook kimliği ile $ kullanıcı kimliği geçersiz ise bu hatayı alıyorum:

mesajı ile istisna 'FacebookRestClientException' C 'bir oturum anahtarı bu yöntemi çağırmak için gerekli olan': \ wamp \ www \ mab \ application \ Facebook \ facebookapi_php5_restlib.php: 3003

Ben require_login () yorumsuz, bir oturum kimliği alırsınız, ama bir sürü etrafında sayfalarını yönlendirir ve benim AJAX aramaları keser. Ben başarılı bir şekilde başka bir sitede bu yaptığımız aynı kodu kullanıyorum. Bir kullanıcı bağlantı düğmesi ile login olduktan sonra PHP istemci oturum kimliği hakkında bilmiyorum neden kimse herhangi bir fikirleri var mı? Herhangi bir fikir büyük mutluluk duyacağız. Teşekkürler!

2 Cevap

Sen kullanarak, doğrudan çerezleri, bir API çağrısı olmadan kullanıcı kimliği çıkarabilir:

$facebook->get_loggedin_user();

Bu ana $facebook nesne üzerinde olduğunu unutmayın, not api_client nesne içerdiği.

Facebook Connect kullanmayı deneyin ve localhost'tan PHP istemci .... bu cevap asla. Eğer işe alabilirsiniz ama bir kamu malı çalışırken ile uğraşmak zorunda değilsiniz birkaç 'gizli' sorunlarına neden olur.