Проверьте, нравится ли пользователю Facebook мое приложение - PullRequest
0 голосов
/ 16 марта 2012

Я прочитал несколько источников, но не нашел решения: я использую Facebook C # SDK с ASP.net 4 и VB.net 2010. У меня есть приложение Facebook Canvas. Я использую Canvas Auth.Authorize, и он отлично работает. Теперь я хочу узнать, нравится ли текущему вошедшему в систему пользователю мое приложение. Как я мог это сделать?

  • «SignedRequest», похоже, не работает, потому что согласно Документации Facebook «Это поле присутствует, только если ваше приложение загружается во вкладке страницы».
  • graph / user / likes также не вариант, потому что я не хочу просить пользователя предоставить доступ к моему приложению всем его лайкам.

Но плагин Facebook может различаться, нравится ли текущему пользователю мое приложение или нет, поэтому я весьма оптимистичен, что есть способ, который я просто еще не нашел.

Большое спасибо!

1 Ответ

2 голосов
/ 19 марта 2012

Вы можете использовать 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
}
...