4

Facebook APP を検証するために facebook Graph API を使用しています。Graph canvas_nameAPI によって返されたプロパティがありましたが、Facebook はそれを に置き換え、代わりにnamespace使用し始めました。Facebook API のドキュメントにあるように、キャンバス名と名前空間を削除しました。問題は、Graph API を呼び出すと返されることがあり、使用するプロパティを決定するだけで混乱することです。namespacecanvas_namenamespacename

以下は、Graph API を介して検証し、異なるプロパティを取得している 2 つの異なる Facebook アプリです。

どのプロパティを使用する必要がありますか? nameまたはnamespace

http://graph.facebook.com/173782752713273

{
   "id": "173782752713273",
   "name": "fbfarooqtv",  
   "link": "http://www.facebook.com/apps/application.php?id=173782752713273",    
   "namespace": "fbfarooqtv",    
   "icon_url": "http://photos-g.ak.fbcdn.net/photos-ak-snc7/v85006/137/173782752713273/app_2_173782752713273_9103.gif",    
   "logo_url": "http://photos-g.ak.fbcdn.net/photos-ak-snc7/v85006/137/173782752713273/app_1_173782752713273_8525.gif",    
   "weekly_active_users": "1",    
   "monthly_active_users": "2"    
}

その他の返品

http://graph.facebook.com/342927909107736

{  
   "id": "342927909107736",
   "name": "Ticketveri",
   "link": "http://www.facebook.com/apps/application.php?id=342927909107736",
   "icon_url": "http://static.ak.fbcdn.net/rsrc.php/v1/yT/r/4QVMqOjUhcd.gif?_fbgz=1",
   "logo_url": "http://static.ak.fbcdn.net/rsrc.php/v1/y_/r/9myDd8iyu0B.gif?_fbgz=1"
}

回答いただきありがとうございます。appId を使用して上記のタスクを完了しました。Facebook アプリの名前空間を指定しない場合は、このように appId を使用してそこのアプリに移動できます。 http://apps.facebook.com/173782752713273

名前空間を指定すると、 appId と名前空間を使用してそこのアプリに移動でき http://apps.facebook.com/342927909107736 ますhttp://apps.facebook.com/fbfarooqtv。ページのリファラーからFacebookアプリを検証していましたが、アプリに名前空間がない場合は名前空間にフォールバックを追加し、リファラーからappIdを取得し、存在する場合はアプリに関する情報を返すグラフAPIを呼び出して検証します. 以下のように

http://graph.facebook.com/173782752713273
4

3 に答える 3

2

If I understand your question right, you wonder under what conditions a request to

https://graph.facebook.com/YOUR_APP_ID

results in a JSON response with a field called namespace, and under what conditions the namespace field is not included.

All apps have a name which is set when you create the app. The name field will always be returned when you issue the above request.

Apps don't have to have a namespace. It doesn't have to be specified when you create the app (although you can but it's not compulsory). If you create an app without a namespace, the request above will return a JSON reponse without a namespace.

In order words the most likely reason why app two in your example doesn't return a namespace is that it hasn't been specified on the app's setting page on Facebook Developers.

So, net, you can use either name or namespace for validation but if you use namespace you have to check it really has been added to the app settings.

于 2012-05-04T12:14:26.507 に答える
2

選択する値は、アプリの「検証」の意味によって異なる場合があります。私が働いているところには、2 つの「アプリ」があります。1 つは Windows デスクトップ アプリケーションで、名前空間を必要とせず、名前空間もありません。もう 1 つの「アプリ」は、Web ブラウザーの Facebook キャンバス ページ内で実行される「Facebook アプリ」であり、これには名前空間が必要であり、名前空間があります。

繰り返しますが、「検証」するために何をしているかに応じて、アプリはおそらくこれらの値のどれが必要かを判断します。たとえば、Facebook キャンバスで実行される「アプリ」にブラウザーをナビゲートする場合は、「apps.facebook.com/app_namespace_here」のような URL を作成する必要があります。

デスクトップ アプリ (またはモバイル アプリ) をどのように検証するのかわかりません。

于 2012-05-03T12:03:29.157 に答える