2

Я пытаюсь получить идентификатор объекта объекта OpenGraph со следующим FQL:Как получить идентификатор объекта OpenGraph?

SELECT url,site,id 
FROM object_url 
WHERE url IN ( 
    'http://www.MY_OPENGRAPH_OBJECT_URL' 
) 

Я получаю результат ID, который отличается от идентификатора, который возвращается на https://developers.facebook.com/tools/debug

который Я не могу запросить с https://graph.facebook.com/ID (я могу использовать ID, возвращенный от отладчика Facebook).

что это за идентификатор, который я получаю? Как я могу получить правильный идентификатор объекта? есть ли простой способ сделать это с помощью Android Android SDK v3?

ответ

3

Основываясь на Facebook documentation

id - The ID of the Graph object represented by the URL 

Использование URL:

SELECT url, id, type, site FROM object_url WHERE url = "http://www.mashable.com" 

Ответ:

{ 
    "data": [ 
    { 
     "url": "http://www.mashable.com", 
     "id": 435564669831754, 
     "type": "link", 
     "site": "www.mashable.com" 
    } 
    ] 
} 

Использование ID:

SELECT url, id, type, site FROM object_url WHERE id = 435564669831754 

Ответ:

{ 
    "data": [ 
    { 
     "url": "http://mashable.com/stories/", 
     "id": 435564669831754, 
     "type": "link", 
     "site": "mashable.com" 
    } 
    ] 
} 

В этом случае для Mashable URL, значение ответа «Тип: Ссылка» и если вы у граф вызовов API с обратным идентификатором, он не будет давать какие-либо значения. Но если тип возврата - «Страница», тогда возвращается идентификатор возврата.

Но если попытаться использовать этот IMDB URL,

SELECT url, id, type, site FROM object_url WHERE url = "http://www.imdb.com/title/tt0117500/" 

Ответ:

{ 
    "data": [ 
    { 
     "url": "http://www.imdb.com/title/tt0117500/", 
     "id": 114324145263104, 
     "type": "page", 
     "site": "www.imdb.com" 
    } 
    ] 
} 

из документации ->

type - The type of object the URL represents (note: 'Page' incorporates any URL with an 'og:type' specified) 

я также попробовать www.imdb.com в

SELECT url, id, type, site FROM object_url WHERE url = "http://www.imdb.com" 

Ответ:

{ 
    "data": [ 
    { 
     "url": "http://www.imdb.com", 
     "id": 6903354771, 
     "type": "link", 
     "site": "www.imdb.com" 
    } 
    ] 
} 

Но если проверить любой URL в инструментах Fb Debugger, в последнем разделе есть API URL Graph с идентификатором, который работает отлично. Я не уверен, как facebook получает это в Debugger.

+0

для объектов OpenGraph тип namespace: object_type, и это возвращается из запроса graph.facebook.com/OBJECT_ID, а не типа 'link', который возвращается из запроса FQL. есть ли способ получить правильный идентификатор объекта OpenGraph из заданного URL-адреса? –

+0

Каким должен быть URL-адрес для открытого объекта графа? – Kunu

Смежные вопросы