Facebook应用程序请求发出
问题描述:
我尝试测试例开发商网页Facebook应用程序请求发出
$token_url = "https://graph.facebook.com/oauth/access_token?" .
"client_id=" . facebook::getConfig('appId') .
"&client_secret=" . facebook::getConfig('secret') .
"&grant_type=client_credentials";
$app_access_token = file_get_contents($token_url);
$user_id = "100002758712176";
$apprequest_url = "https://graph.facebook.com/".
$user_id .
"/apprequests?message='test string'&" .
$app_access_token . "&method=post";
$result = file_get_contents(urlencode($apprequest_url));
echo "App Request sent? ". $result;
,并得到eror [function.file-GET-内容]:未能打开流:HTTP请求失败! HTTP/1.1 400错误请求 当我在浏览器中使用$ apprequest_url所有作品。哪里有问题 ?
答
首先,你应该进行urlencode您发送URL中的字符串:
$apprequest_url = "https://graph.facebook.com/" . $user_id . "/apprequests?message=" . urlencode('test string') . "&" . $app_access_token . "&method=post";
答
东西看起来奇怪...
$result = file_get_contents(urlencode($apprequest_url));
首先,它看起来像你编码整个URL。其次,你的URL字符串包含$ app_access_token,但它不绑定到PARAM键...可能想尝试编码“消息”,并加入“的access_token”到您的网址stirng唯一网址:
$message = urlencode('test string');
$apprequest_url = "https://graph.facebook.com/$user_id/apprequests?";
$apprequest_url .= "message=$message&access_token=$app_access_token&method=post";
是您Facebook用户登录到您的应用程序?您只能在用户验证您的应用后请求访问令牌。 – Lix 2012-02-03 09:08:57