2011-07-29 4 views
0

저는 내 사이트에 Google/Facebook 인증 시스템을 구현했습니다. 나는 각각의 서비스를 사용하여 사용자를 인증 한 다음 그 결과를 사용하여 내 세션을 인스턴스화합니다. 구글은 아무런 문제없이 달리고있다. 그러나 페이스 북의 경우 나는 걸림돌을 때렸다.회사의 Facebook OpenID 인증은 무엇입니까?

사용자를 아무런 문제없이 인증 할 수 있지만 회사 또는 다른 Facebook 페이지 유형을 인증하려고하면 실패합니다.

예를 들어, GraphAPI를 사용하여 해당 예제 중 하나에 표시된 값 https://graph.facebook.com/btaylor을 검색하고 올바르게 저장할 수 있습니다.

그러나 동일한 시스템을 사용하여 회사 (예 : https://graph.facebook.com/nike)를 인증하려고 시도하면 개체가 GraphAPI에서 반환 한 사용자 결과의 일부가 아니기 때문에 실패합니다.

일반 물건 통화 설정 :

$FBcookie = get_facebook_cookie(YOUR_APP_ID, YOUR_APP_SECRET); 
$user = json_decode(file_get_contents_curl('https://graph.facebook.com/me?access_token='.$FBcookie['access_token'])); 

을 그리고 결과를 저장할 때, 그것은 사용자로 잘 작동 :

$_Fname =$user->first_name; 
$_Lname =$user->last_name; 

그러나 위의 나이키의 예에서 볼 수있는 기대 속성에 액세스하려고 아무것도 반환되지 않습니다. 나는 아무것도 볼 사용자에 대한

print('<pre>'); 
print_r($user); 
print('</pre>'); 

, 나는 비 사용자 (회사 이벤트 또는 다른 페이지 유형)에 대한 모든 것을 참조 :

은 난 무슨 일이 볼 수있는 물체에서 반향했습니다.

질문 : GraphAPI를 통해 쿼리해야 할 다른 개체를 본 사람이 있습니까? 페이스 북 개발자 페이지는 여기 저기에 있으며 여기에 대한 간략한 튜토리얼은 없다.

$user->id; 
$user->name; 
$user->picture; 
$user->link; 
$user->likes; 
$user->category; 
$user->website; 
$user->username; 
$user->description; 
$user->public_transit; 

그래서 $user->first_name;$user->last_name;이 존재하지 않습니다, 어떤 도움이 많이 주시면 감사하겠습니다

다음과 같이 페이스 북에서)

+0

'OAuth' ='OpenID'을 – zerkms

답변

0

회사/페이지 정보입니다.

당신은 같은 것을 시도해 볼 수도 있습니다!

if(empty($user->first_name)&&empty($user->last_name)){ 

//probably company set $user->username; 

} 
관련 문제