0

我终于让 facebooks graph api 在我的粉丝 PAGE 上发布消息,因为page
我如何让它将大图像作为帖子而不是链接发布?

'source' => $photo似乎创建了一个缩略图

这就是我到目前为止所拥有的

<?php

$page_id = 'YOUR-PAGE-ID';
$message = "I'm a Page!";
$photo = "http://www.urlToMyImage.com/pic.jpg";

require '../src/facebook.php';

// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
    'appId'  => 'YOUR-APP-ID',
    'secret' => 'YOUR-SECRET-ID',
));


$user = $facebook->getUser();

if ($user) {
    try {
        $page_info = $facebook->api("/$page_id/?fields=access_token");
        if( !empty($page_info['access_token']) ) {
                $facebook->setFileUploadSupport(true); // very important
                $args = array(
                        'access_token'  => $page_info['access_token'],
                        'message'       => $message,
                        'source'        => $photo

                );
                $post_id = $facebook->api("/$page_id/feed","post",$args);
        }
    } catch (FacebookApiException $e) {
        error_log($e);
        $user = null;
    }
}

// Login or logout url will be needed depending on current user state.
if ($user) {
    $logoutUrl = $facebook->getLogoutUrl(array( 'next' => 'http://mydomain.com/logout_page.php' ));
} else {
    $loginUrl = $facebook->getLoginUrl(array('scope'=>'manage_pages,publish_stream'));
}
?>
4

1 回答 1

1

这里的问题是您实际上并没有发布照片。您正在做的是发布该照片的链接,因此您看到的确实是 Facebook 从该 URL 检索到的缩略图预览图像。

您要做的是提供服务器上以@符号为前缀的文件的完整路径。该主题已在网站上进行了很多讨论,因此我将向您指出规范帖子的方向,该帖子处理使用 PHP SDK 将图像上传到 Facebook

使用 Facebook 的 Graph API 将照片上传到相册

代码如下所示 -

$facebook->setFileUploadSupport(true);
$params = array('message' => 'Photo Message');
$params['image'] = '@' . realpath($FILE_PATH);
$data = $facebook->api('/me/photos', 'post', $params);
于 2012-07-16T21:05:54.317 回答