使用PHP5 Curl调用Facebook Graph API.不同服务器得到不同的响应

lyo*_*bro 5 php curl facebook facebook-graph-api

我有一个PHP应用程序,使用Curl调用Facebook Graph API并将项目发布到用户的墙上.它在我的开发盒和我们的生产服务器上运行良好,但它不能在一个QA服务器上运行.我们得到一个模糊的错误代码100:"消息失败"回来.据我所知,我从所有服务器发送相同的信息.

这是我在开发箱上的请求:

Array
(
    [0] => Accept: text/html,application/xhtml+xml,application/xml;q=0.9;q=0.8
    [1] => Accept-Language: en-us,en;q=0.5
    [2] => Accept-Charset: utf-8;q=0.7,*;q=0.7
)
POST: https://graph.facebook.com/me/feed
{
    "message":"my message",
    "picture":"http:\/\/server.com\/image.jpeg",
    "link":"http:\/\/server.com\/page",
    "name":"foo",
    "caption":"bar",
    "access_token":"{ACCESS_TOKEN}"
}
Run Code Online (Sandbox Code Playgroud)

这是响应(它的工作原理):

{
   "id": "6705254_873254004878"
}
Run Code Online (Sandbox Code Playgroud)

这是我在QA框上的请求(相同的ACCESS_TOKEN):

Array
(
    [0] => Accept: text/html,application/xhtml+xml,application/xml;q=0.9;q=0.8
    [1] => Accept-Language: en-us,en;q=0.5
    [2] => Accept-Charset: utf-8;q=0.7,*;q=0.7
)
POST: https://graph.facebook.com/me/feed
{
    "message":"my message",
    "picture":"http:\/\/server.com\/image.jpeg",
    "link":"http:\/\/server.com\/page",
    "name":"foo",
    "caption":"bar",
    "access_token":"{ACCESS_TOKEN}"
}
Run Code Online (Sandbox Code Playgroud)

以下是QA的响应(失败)

{
   "error": {
      "type": "OAuthException",
      "message": "(#100) Message Failed"
   }
}
Run Code Online (Sandbox Code Playgroud)

我删除了我们为图片和链接发送的实际网址,但您明白了:)

有谁知道我做错了什么?它看起来和我一样....

小智 1

嘿,我认为这是您的应用程序设置中给出的站点 URL 的问题。Facebook 仅允许来自应用程序设置中列出的域的请求。