我是Facebook粉丝页面的管理员,我需要以管理员身份发布图片。虽然我使用此代码,但它会在我自己的Facebook墙上发布帖子。我拥有该应用的管理权限。 有什么想法吗?
<?php
$album_id ='9543045';
$access_token='W4997qoxbdFGLZA1d8a7JhoNoKxZBcNdFcdUXgDXa7k7oeFvKBIZA6OHf81pZAyV5nCAZD';
$file= '/Users/bazinga/Desktop/banner1.png';
$args = array(
'message' => urlencode('Hello'),
'description' => urlencode('World'),
'access_token' => urlencode($access_token)
);
$args[basename($file)] = '@' . realpath($file);
$ch = curl_init();
$url = 'https://graph.facebook.com/'.$album_id.'/photos?access_token='.$access_token;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
$data = curl_exec($ch);
//returns the photo id
print_r(json_decode($data,true));
答案 0 :(得分:0)
您需要页面访问令牌才能代表页面管理员上传照片。
您可以通过https://graph.facebook.com/me/accounts?access_token=USER_ACCESS_TOKEN
获取您的网页访问令牌另一种方法是,如果您已经知道页面ID,那么您可以直接请求
https://graph.facebook.com/PAGE_ID?fields=access_token&access_token=USER_ACCESS_TOKEN
此外,请确保您请求status_update premission,我在why does posting to facebook page yield "user hasn't authorized the application"
回答最后一点,我认为描述和 access_token 在 $ args 数组中是多余的。