按名称获取应用程序ID

时间:2012-01-24 18:23:50

标签: facebook

我需要获得应用程序的类别。为了从图形api获取该信息,我需要获取它的应用程序ID。但是,我有权访问的是URL中的应用程序名称。

我有:http://apps.facebook.com/graffitiwall

我需要:https://graph.facebook.com/2439131959

有没有将“graffittiwall”翻译成“2439131959”?

注意:我不能简单地使用该名称,因为图表API 按名称查找用户和网页。

3 个答案:

答案 0 :(得分:8)

我认为facebook已将其字段名称canvas_name更改为名称空间。

所以现在你可以简单地用canvas.like

替换canvas_name

https://graph.facebook.com/fql?q=SELECT+app_id,namespace,category+FROM+application+WHERE+namespace=%22graffitiwall%22

答案 1 :(得分:1)

不幸的是,我不认为通过Facebook Graph API可以通过应用程序的名称检索应用程序的信息。您需要具有应用程序的唯一ID才能访问其基本信息。

一个有趣的想法是通过用户' apprequests找到不同应用的ID。然后,您可以从app id获取应用程序的类别。

答案 2 :(得分:0)

FQL API提供了无用的功能来查询应用程序表(以及apprequest表)。例如,我想知道我的朋友正在使用的应用程序,但无法获取该信息,因为apprequest上的索引结合了recipient_uid和app_id,因此即使尝试查询我使用的应用程序也会失败,如下所示:

SELECT app_id FROM apprequest WHERE recipient_uid = me()

此外,apprequest表似乎有问题,因为此查询不返回任何结果:

SELECT app_id,message FROM apprequest WHERE app_id IN(SELECT app_id FROM application WHERE namespace ='lucky_slots')AND recipient_uid = me()

即使此查询返回有效的app_id ...

SELECT app_id FROM application WHERE namespace ='lucky_slots'

我的时间线上有来自该应用的通知