检查Facebook用户是否喜欢我的应用程序

问题描述:

我已经阅读了几个源代码,但没有找到解决方案:我在使用012.net与ASP.net 4和VB.net 2010.我有一个Facebook的画布应用程序。我正在使用Canvas Auth.Authorize,它工作正常。现在我想知道当前登录的用户是否已经喜欢我的应用程序。我怎么能这样做?检查Facebook用户是否喜欢我的应用程序

  • “SignedRequest”似乎并没有工作,因为根据Facebook Documentation“该字段仅存在,如果你的应用程序被加载页选项卡中”。
  • graph/user/likes也不是一个选项,因为我不想让用户为我的应用程序授予他所有喜欢的访问权限。

但Facebook插件是否能够区分当前用户是否喜欢我的应用程序,所以我相当乐观,有一种方法,我还没有找到。

非常感谢!

您可以使用图形API调用用户喜欢的。而不是要求所有的喜欢只是要求你想要的一个。

https://graph.facebook.com/userId/likes/appId

如果用户喜欢的页面的搜索结果将返回有关页面的详细信息。例如:

{ 
    "data": [ 
    { 
     "name": "Microsoft Office Web Apps", 
     "category": "Software", 
     "id": "121883824529155", 
     "created_time": "2012-03-14T06:48:47+0000" 
    } 
    ], 
    "paging": { 
    "next": "https://graph.facebook.com/me/likes/121883824529155?format=json&limit=5000&offset=5000&__after_id=121883824529155" 
    } 
} 

如果用户不喜欢该页面,您将收到空白数据。

{ 
    "data": [ 
    ] 
} 

随着Facebook的C#SDK如下,你会提出这个要求:

var client = FacebookClient("access_token_here"); 
dynamic result = client.Get('/me/appId'); 
if (result.data.Length == 1) { 
    // User has liked page 
} 
+0

弥敦道您好,感谢您的回复!它按预期工作,但有2条评论:1.您最后的代码示例错过了URL中的'/ likes'。 2.我不明白LIKE如何连接到我的应用程序?我有例如一个应用程序'MyApp'(apps.facebook.com/myapp),一个相应的页面(www.facebook.com/MyApp)和一个域名(myapp.com)。 LIKE与这些中的任何一个都不相对应。相反,我只能用http://misha.beshkin.lv/how-to-add-like-box-to-your-app-on-facebook/中提供的connect-url来查看它,但我只能得到这个问题标记为应用程序图标等。那么LIKE属于哪个网址? – K232 2012-03-24 23:38:53

+0

好的,找到它了。在/我/喜欢/ appId我不使用AppID,但PageID,这工作正常! – K232 2012-03-24 23:56:52