2011-07-11 11 views
4

特定のFacebookアプリIDが有効かどうかを確認する必要があります。また、このアプリIDに設定されているドメインとサイトの設定を確認する必要があります。それがPHPかJavascriptによって行われたかどうかは関係ありません。FacebookのアプリIDを検証する方法

どこからでも確認しましたが、これに関する情報は見つかりませんでした。何か案は?

答えて

9

http://graph.facebook.com/<APP_ID>にアクセスして、期待どおりのものが読み込まれているかどうかを確認してIDを確認できます。アプリ情報については、from this listというプロパティを使用してadmin.getAppPropertiesを試してみてください。

+0

を私はアプリのURLとアプリケーションドメインを見つけることができませんアプリケーションテーブル上にある。 –

+0

Huh。以前はそこにいた、それは変だ。私は自分の答えを更新しました。 –

+0

ありがとう、それはアプリケーションの秘密を求めているが、私は残りの部分を処理できると思う。 –

4

グラフAPIを使用します。単に要求:

https://graph.facebook.com/<appid> 

それはあなたにこのようになりますJSONオブジェクトを返す必要があります:typeプロパティを探し、指定APP_IDが実際にアプリケーションのIDであるかどうかを検証するために、そう

{ 
    id: "<appid>", 
    name: "<appname>", 
    category: "<app category>", 
    subcategory: "<app subcategory>", 
    link: "<applink>", 
    type: "application", 
} 

をアプリケーションが表示されているかどうかを確認します。 idが見つからない場合は、falseを返します。

さらに詳しい情報:たとえばhttps://developers.facebook.com/docs/reference/api/application/

<?php 
$app_id = 246554168145; 
$object = json_decode(file_get_contents('https://graph.facebook.com/'.$app_id)); 
// the object is supposed to have a type property (according to the FB docs) 
// but doesn't, so checking on the link as well. If that gets fixed 
// then check on isset($object->type) && $object->type == 'application' 
if ($object && isset($object->link) && strstr($object->link, 'http://www.facebook.com/apps/application.php')) { 
    print "The name of this app is: {$object->name}"; 
} else { 
    throw new InvalidArgumentException('This is not the id of an application'); 
} 
?> 
+0

ありがとう、それは素晴らしい作品ですが、私はアプリケーションの設定を入力することはできません、タイプと他のキーは私の応答に表示されません。ここにテストアプリのIDがあります160488080688144 –

+0

リンクはjsonオブジェクトに表示されますか?それをテストしてください。フォールバックのために、私は一連の属性についてテストします。たとえば、typeが使用可能で、applicationと等しいかどうか、そして次にリンクを確認します。結局のところ、タイプは、FBがこの問題を修正すると仮定することができますので、見るための文書化されたプロパティです。 –

0

グラフAPIを使用します。

$fb = new Facebook\Facebook(/* . . . */); 

// Send the request to Graph 
try { 
    $response = $fb->get('/me'); 
} catch(Facebook\Exceptions\FacebookResponseException $e) { 
    // When Graph returns an error 
    echo 'Graph returned an error: ' . $e->getMessage(); 
    exit; 
} catch(Facebook\Exceptions\FacebookSDKException $e) { 
    // When validation fails or other local issues 
    echo 'Facebook SDK returned an error: ' . $e->getMessage(); 
    exit; 
} 

var_dump($response); 
// class Facebook\FacebookResponse . . . 

さらに詳しい情報:FacebookResponse for the Facebook SDK for PHP

関連する問題