Facebook Graph API - получить идентификатор для URL? - PullRequest
21 голосов
/ 27 августа 2010

Это кажется довольно очевидной, основной вещью, которую можно ожидать от Graph API , но у меня серьезные проблемы с этим. Все, что я хочу сделать, это получить идентификатор для любого конкретного URL. У них есть метод для этого:

https://graph.facebook.com/?ids=http://www.imdb.com/title/tt0117500/

И это прекрасно работает. Но если я попробую другой URL, скажем для моего блога,

https://graph.facebook.com/?ids=http://dusda.vox.com

он не возвращает мне числовой идентификатор, как во всех примерах. Вместо этого:

{"http:\/\/dusda.vox.com":{"id":"http:\/\/dusda.vox.com"}}

Если я пытаюсь использовать это «id», я получаю jack (возможно, потому что строка запроса выглядит невозможной для разбора):

Request: https://graph.facebook.com/http://dusda.vox.com/likes
Response: {"id":"http:\/\/dusda.vox.com\/likes"}

Так что с этим? Является ли Graph API просто избирательно надежным, или я что-то неправильно понимаю? Я пробовал его на URL-адресах, которые, как я знаю, популярны и в Facebook, и я получил смешанные результаты.

Ответы [ 6 ]

10 голосов
/ 03 января 2012

Попробуйте FQL для этого;

http://graph.facebook.com/fql?q=select%20url%2C%20id%2C%20type%2C%20site%20from%20object_url%20where%20url%20%3D%20%22http%3A%2F%2Fkriek.hu%2F%22

возвращается:

{
   "data": [
      {
         "url": "http://kriek.hu/",
         "id": 497425470154,
         "type": "link",
         "site": "kriek.hu"
      }
   ]
}

Для получения дополнительной информации см. object_url .

Надеюсь, это поможет!

8 голосов
/ 31 августа 2010

Идентификатор предоставляется Facebook только для страниц, на которых есть кнопка fbshare / like.В противном случае API возвращает количество акций и URL-адрес запроса.

4 голосов
/ 23 марта 2012

Если я использую страницу отладчика объектов facebook, я могу очистить каждый URL, например:

https://developers.facebook.com/tools/debug/og/object?q=ddnl.de

Страница возвращает мне URL с идентификатором, и поэтому я могу получить каждыйнеобходимые параметры.

В этом случае https://graph.facebook.com/10150164108649475

Но я не получаю этот идентификатор или URL с FQL или иным образом?

3 голосов
/ 22 сентября 2012

Очень старый вопрос, но вот то, что я нашел, работает для меня, так как ни один из ответов здесь действительно не решил мою проблему:

Если пользовательский объект привязан к URL-адресу, метод, предложенный Пепе, только дает идентификатор, который FB присваивает URL-адресу, где type = link. (Который не привязан ни к каким комментариям)

В моем случае мне нужен мой собственный идентификатор объекта, чтобы я мог извлечь из него связанные комментарии. Вы можете получить идентификатор объекта, используя FQL, выбрав «comments_fbid» из таблицы «link_stat». (Это вернет идентификатор объекта, даже если комментарии не были добавлены, поэтому он должен работать для других случаев)

api.facebook.com

2 голосов
/ 19 декабря 2012

В настоящее время ни одно из предложенных решений не работает для всех URL.Только отладчик может правильно получить идентификатор графа

Например

Отладчик: https://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fwww.amazon.de%2Fgp%2Fproduct%2F3810510793%2F

Для URL: www.amazon.de/gp/product/3442465583/

Результат: https://graph.facebook.com/10150771435736113

{
   "url": "http://www.amazon.de/dp/3810510793/ref=tsm_1_fb_lk",
   "type": "book",
   "title": "Die unwahrscheinliche Pilgerreise des Harold Fry: Roman",
   "image": [
      {
         "url": "http://ecx.images-amazon.com/images/I/51I4E81xrRL._SL160_.jpg"
      }
   ],
   "description": "Die unwahrscheinliche Pilgerreise des Harold Fry: Roman",
   "site_name": "Amazon.de",
   "updated_time": "2012-12-19T16:54:27+0000",
   "id": "10150771435736113",
   "application": {
      "id": "164734381262",
      "name": "Amazon",
      "url": "https://www.facebook.com/apps/application.php?id=164734381262"
   }
}
0 голосов
/ 23 октября 2012

У меня была такая же проблема, я пытался получить те же данные, которые получает IMDB. После того, как я чуть не ударился головой о стену, я решил посмотреть на функцию js в Facebook. И посмотрите, что я получу, объяснение есть по ссылке.

Получение ограниченных данных со страницы с идентификатором Facebook

Мир

...