我最近创建了一个Facebook应用程序,用于将可视化数据(图像)发送到已经属于与该应用程序相同的用户帐户的页面。
此外,我在应用程序的权限窗格中设置了扩展权限。设置页面。
以下是可以以文本格式发送帖子的代码。但是当我试图发送连接的图像时,它失败了。
目前我无法获得哪些可能的错误?
$facebook = new Facebook(array(
'appId' => MY_APP_ID,
'secret' => MY_APP_SECRET,
'fileUpload' => true,
'allowSignedRequest' => false
));
$img = "../../../tw-data/postImages/twpostimage-usd.png";
$message = 'Activity Test with Image @ ' . date('d.M.Y H:i:s');
try
{
$access_token = $facebook->getAccessToken();
$params = array('access_token' => $access_token,
'source' => '@'.$img,
'message' => $message
);
$result = $facebook->api('/'. MY_PAGE_ID .'/feed','POST', $params);
print_r($result);
}
catch (FacebookApiException $e)
{
$login_url = $facebook->getLoginUrl();
echo 'Please <a href="' . $login_url . '">login.</a>';
error_log($e->getType());
error_log($e->getMessage());
}
答案 0 :(得分:0)
尝试此操作时会出现什么错误?
我相信您遇到的主要问题是您要发布到
/my_page_id/feed
你应该发布到
/my_page_id/photos
$response = $facebook->api(
"/me/photos",
"POST",
array (
'url' => '{image-url}',
)
);
编辑:
我已使用以下格式成功发布带有消息的图像。
$img = 'FILE_NAME.jpg';
$message = 'Activity Test with Image @ ' . date('d.M.Y H:i:s');
$params = array('access_token' => $access_token,
'message' => 'test',
'source' => '@'.$img
);
$result = $facebook->api('/USER_ID/photos','POST', $params);
print_r($result);
答案 1 :(得分:0)
此外,我在应用程序的权限窗格中设置了扩展权限。设置 页。
这是一个常见的错误。必须在您的范围内请求权限,而不是在应用程序设置中。
$params = array(
'scope' => 'publish_stream',
'redirect_uri' => 'https://www.myapp.com/post_login_page'
);
$loginUrl = $facebook->getLoginUrl($params);
接受权限对话框,然后重试。如果要以页面形式发布到页面,请获取页面访问令牌。
快乐的编码!