2011-07-29 13 views
0

私は自分のサイトにGoogle/Facebook認証システムを実装しています。私はそれぞれのサービスを使ってユーザーを認証し、その結果を使って自分のセッションをインスタンス化します。 Googleは問題なく動作していますが、Facebookの場合、私は問題を抱えています。会社のFacebookオープンID認証?

私は問題なくユーザーを認証できますが、会社や他の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経由でクエリする必要がある他のオブジェクトを誰かが見ていますか? Facebookのデベロッパー向けページにはすべての場所があり、これに関する実際の簡潔なチュートリアルはありません。

$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;が存在しません。すべてのヘルプははるかに高く評価されるだろう

次のようにFacebookの上)

+0

'OAuth' =' OpenID'を! – zerkms

答えて

0

会社/ページ情報です。

あなたはこのような何かを試みることができる:

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

//probably company set $user->username; 

} 
関連する問題