我正在尝试将图片发布到Facebook有趣的页面,它会在我自己的墙上工作,但有趣的页面并没有将文本发布到fb有趣的页面墙没有问题。
$photo_url = "http://www.google.com/logo.png";
$photo_caption = $text;
$code = $_REQUEST["code"];
//Obtain the access_token with publish_stream permission
if (!$code)
{
$dialog_url= "http://www.facebook.com/dialog/oauth?"
. "client_id=" . $app_id
. "&redirect_uri=" . urlencode( $post_login_url)
. "&scope=publish_stream";
echo("<script>top.location.href='" . $dialog_url
. "'</script>");
}
else
{
$token_url="https://graph.facebook.com/oauth/access_token?"
. "client_id=" . $app_id
. "&client_secret=" . $app_secret
. "&redirect_uri=" . urlencode( $post_login_url)
. "&code=" . $code;
$response = file_get_contents($token_url);
$params = null;
parse_str($response, $params);
$access_token = $params['access_token'];
// POST to Graph API endpoint to upload photos
$graph_url= "https://graph.facebook.com/{FUNPAGE-ID}/photos?"
. "url=" . urlencode($photo_url)
. "&message=" . urlencode($photo_caption)
. "&method=POST"
. "&access_token=" .$access_token;
echo '<html><body>';
echo file_get_contents($graph_url);
echo '</body></html>';
}
我能做什么我认为它与graph_url
有关答案 0 :(得分:0)
您需要将数据作为图像本身的编码二进制文件提供。 URL参数仅添加指向POST的链接作为文本或注释的一部分,它不会从该URL检索并添加照片istelf!
添加类似
的内容...
"url=" . urlencode(file_get_contents($photo_url));
...
并且:此外,方法必须是POST,我不太确定“file_get_contents”是否会对数据进行POST,而不仅仅是根据名称强制执行GET。