FB App无法发布图片到页面?

时间:2013-12-31 19:43:31

标签: php facebook image

我最近创建了一个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());
}

2 个答案:

答案 0 :(得分:0)

尝试此操作时会出现什么错误?

我相信您遇到的主要问题是您要发布到

/my_page_id/feed

你应该发布到

/my_page_id/photos

来自facebook docs

$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);

接受权限对话框,然后重试。如果要以页面形式发布到页面,请获取页面访问令牌。

快乐的编码!