Facebook Graph API URL Scrape Inconsistent

时间:2017-06-19 15:45:23

标签: facebook facebook-graph-api

我正在对Facebook Graph API运行查询以获取有关URL的OG元信息。使用Facebook APP令牌,我可以请求大多数URL并获取相应的元数据。但是我遇到了两个我无法找到解决方案的问题。我有一个域拒绝使用APP令牌提取任何元信息。相反,我收到错误100(不支持的帖子请求)。但是当我使用用户访问令牌发出相同的请求时,它可以正常工作。我发现的第二个问题是,当一个URL有任何类型的OG错误时,Facebook仍在抓取它,但会返回100错误而不是返回元细节(同时包含app令牌和用户访问令牌)。我甚至尝试在没有scrape参数的情况下运行查询,但无济于事。

Normal Request That Returns Meta Fields of URL:

POST: 
    https://graph.facebook.com/v2.9/
    {
        "id": "http://viralcrunch.com/articles/22325/these-guys-invented-the-anti-smart-phone-and-it-will-blow-your-mind",
        "scrape": "true"
    }

Request That Returns 100 Unsupported post request Error W/ App Token

POST: 
    https://graph.facebook.com/v2.9/
    {
        "id": "http://turnthispage.com/dads-totally-winning-fatherhood/",
        "scrape": "true"
    }

Request That Returns 100 Invalid Object Error W/ Any Token

POST: 
    https://graph.facebook.com/v2.9/
    {
        "id": "http://www.thesportster.com/basketball/top-20-nba-players-who-live-life-to-the-fullest/",
        "scrape": "true"
    }

1 个答案:

答案 0 :(得分:0)

第二个网址似乎与设置了某种访问限制的应用的应用ID相关联;所以我想这里就像你试图访问有关设置了访问限制的Facebook页面的信息一样 - 你无法查询有关那些使用应用程序访问令牌的任何细节,你需要为用户使用用户访问令牌允许查看该页面的内容或页面访问令牌。

并且您得到第三个错误响应似乎很自然。毕竟,这是一个用于调试和抓取您可以控制的Open Graph对象的工具,因此如果OG元数据不按顺序则应该返回错误。