检查facebook用户是否喜欢我的应用

时间:2012-03-16 18:21:38

标签: vb.net facebook-graph-api facebook-c#-sdk

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

  • 'SignedRequest'似乎不起作用,因为根据Facebook Documentation“仅当您的应用在页面标签中加载时,此字段才会出现”。
  • graph / user / likes也不是一个选项,因为我不想要求用户将我的应用授予他所有喜欢的内容。

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

非常感谢!

1 个答案:

答案 0 :(得分:2)

您可以使用图表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
}