使用PHP5 Curl调用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}\"
}
这是响应(有效):
{
   \"id\": \"6705254_873254004878\"
}
这是我在“质量检查”框中的要求(相同的ACCESS_TOKEN):
Array
(
    [0] => Accept: text/html,\"access_token\":\"{ACCESS_TOKEN}\"
}
这是对质量检查的回应(失败)
{
   \"error\": {
      \"type\": \"OAuthException\",\"message\": \"(#100) Message Failed\"
   }
}
我已经删除了我们发送的用于图片和链接的实际URL,但是您知道了:) 有谁知道我可能做错了什么?对我来说看起来...     

解决方法

嘿, 我认为您的应用设置中提供的网站网址存在问题。 Facebook仅允许来自您的应用程序设置中列出的域的请求。     ,据我了解的facebook政策,只有一个客户可以使用特定的访问令牌进行授权-因此您应在发布前获得一个新的访问令牌。在此处进行了描述:Facebook:“已使用此授权代码。”,“类型”:“ OAuthException”,“代码”:100 所以你应该添加
$access_token = $session->getToken();
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...