facebook打开图形API名称和命名空间属性

Sam*_*eer 4 c# asp.net facebook facebook-graph-api

我正在使用facebook Graph API验证Facebook APP,有一个属性canvas_name由Graph API返回,但Facebook取而代之namespace,我开始使用namespace而不是canvas_name.正如Facebook API文档所说,我们已经删除了带有命名空间的画布名称.问题在于,当我调用Graph API时,它有时会返回namespace,有时只会name令人困惑地决定使用哪个属性.

这里有两个不同的Facebook APP我通过Graph API验证并获得不同的属性.

我应该使用哪个属性?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"    
}
Run Code Online (Sandbox Code Playgroud)

和其他回报

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"
}
Run Code Online (Sandbox Code Playgroud)

谢谢你们所有人都给出了答案,我已经使用appId完成了我的上述任务,如果有人没有为facebook app指定命名空间,他们可以使用像这样的appId导航到那里的应用程序 http://apps.facebook.com/173782752713273

如果指定了命名空间,那么也可以使用appId和命名空间导航到那里的app,as http://apps.facebook.com/342927909107736http://apps.facebook.com/fbfarooqtv.我正在从页面的引用者验证Facebook应用程序,现在我已经添加了命名空间的后备,如果任何应用程序没有命名空间然后我从引用者获取appId并通过调用图形API来验证它,如果它存在则返回有关应用程序的信息.如下!

http://graph.facebook.com/173782752713273
Run Code Online (Sandbox Code Playgroud)

Asi*_*taq 5

我认为你应该使用"name"而不是"namespace".

原因是"名称"对应于"应用程序显示名称","名称空间"对应于应用程序的应用程序设置中的"应用程序名称空间"属性.

由于"App Display Name"属性是必需的,因此可以保证您始终获取"name"中的值,另一方面"App Namespace"属性是可选的,因此如果在APP中设置,您将只获取命名空间的值设置.

在此输入图像描述