【问题标题】:using POST request on Facebook Graph API在 Facebook Graph API 上使用 POST 请求
【发布时间】:2011-05-19 12:01:49
【问题描述】:

我想访问图形 API 以获取我网站不同页面的共享数量。我可以使用 GET 方法来执行此操作,但我想使用 POST 以便可以在单个请求中发送更多 url。我对 GET 的当前实现是

http://graph.facebook.com/?ids=http://umairj.com/,http://umairj.com/146/how-to-clear-facebook-shares-cache/

有人可以帮忙吗?

【问题讨论】:

    标签: facebook-graph-api


    【解决方案1】:

    这没有很好的记录(我的意思是我在寻找它时没有找到信息!),但是有一种方法可以通过 POST 方法将所有参数传递给 Graph API: 在您的示例中,您应该发布到http://graph.facebook.com/ 使用以下数据: ids=http://umairj.com/,http://umairj.com/146/how-to-clear-facebook-shares-cache/&method=GET

    我不确定 POST DATA 的编码..在我们的例子中,我们只是使用 ids=.....,.....,..... 带有数字 FB 用户 ID 和我们不需要做任何编码,但你可能需要一些 url-encoding

    不要忘记 &method=GET 否则它将不起作用!当我们通过 GET 传递太多 id 时,它帮助我打破了导致 Internet Explorer 错误的 url 长度限制(我认为 RFC 说 1024 个字符,所有浏览器都支持更多,IE 仅 ~4096 )

    如果您想访问非公开信息,同样的技巧也适用于 https://graph.facebook.com/,只要您将 &session_token=***** 添加到您的查询中

    【讨论】:

      【解决方案2】:

      您可以尝试运行 FQL 查询来获取多个网址的统计信息。 Facebook link_stat documentation 有一个如何做到这一点的例子。我很确定您不能发布到 FQL 查询或您正在使用的图形 api,但不幸的是。您的 FQL 查询将是:

      SELECT url, share_count, like_count FROM link_stat WHERE url IN("http://umairj.com/","http://umairj.com/146/how-to-clear-facebook-shares-cache/" )

      这是正确对查询进行 url 编码后的 url:https://api.facebook.com/method/fql.query?query=SELECT+url%2C+share_count%2C+like_count+FROM+link_stat+WHERE+url+IN%28"http%3A%2F%2Fumairj.com%2F"%2C"http%3A%2F%2Fumairj.com%2F146%2Fhow-to-clear-facebook-shares-cache%2F"%29&format=json

      Facebook 提供FQL testing tool 提供帮助。


      更新:他们的 API documention (see section titled "Delete) 提到您可以对他们的任何方法执行 HTTP POST 并将变量 method 设置为您想要的方法。你可以试试这个,尽管它是为 javascript 客户端不可用的 delete 和 put 方法而设计的。它看起来仍然是基于 url 的,所以我不确定它是否会像你想要的那样采用表单编码参数。

      【讨论】:

      • 非常感谢 :) 我会试试这个,唯一的 post 是我可以发送多个 url 而不必担心查询字符串长度限制
      • 试试我作为更新添加的链接。怀疑它会有所帮助,但值得一试。
      • 方法不能用于未列出的其他方法。不过谢谢
      【解决方案3】:

      我在 Facebook 工作,我更新了我们的 Graph API 文档,以记录解决非常大的请求的方法:

      https://developers.facebook.com/docs/graph-api/using-graph-api#largerequests

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-18
        • 2023-03-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多