API Facebook Graph - получить идентификатор URL-адреса?

Это кажется довольно очевидной, принципиальной задачей, ожидаемой от 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, и я получил смешанные результаты.

Ответ 1

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

Ответ 2

Попробуйте 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.

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

Ответ 3

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

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

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

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

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

Ответ 4

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

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

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

api.facebook.com

Ответ 5

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

Например

Debugger: 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"
   }
}

Ответ 6

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

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

Мир