我正在尝试使用以下FQL获取OpenGraph对象的对象ID:
SELECT url,site,id
FROM object_url
WHERE url IN (
'http://www.MY_OPENGRAPH_OBJECT_URL'
)
我得到的结果ID与https://developers.facebook.com/tools/debug
返回的ID不同我无法用https://graph.facebook.com/ID查询(我可以使用Facebook调试器返回的ID)。
我得到的这个不同的ID是什么? 我怎样才能获得正确的对象ID?使用Facebook Android SDK v3有一种简单的方法吗?
答案 0 :(得分:3)
基于facebook documentation
id - The ID of the Graph object represented by the 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,响应值为“Type:link”,如果你用返回id调用graph api,它将不会给出任何值。但如果返回类型为“Page”,则返回ID将起作用。
但是如果尝试使用这个IMDB网址,
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.comSELECT 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"
}
]
}
但是如果你检查Fb Debugger工具中的任何url,在最后一节中有一个带有ID的Graph API URL可以正常工作。我不确定facebook是如何在调试器中获得它的。