1

给予足够的文件上传权限后,照片未上传到 Facebook 相册中……我还参考了有关图形 api 的相关问题,但仍然没有成功……

 $facebook->getLoginUrl(array('scope' => 'user_status,publish_stream,user_photos,photo_upload,can_upload'));

                        $album_details = array(
                                'message'=> 'Testing Description For Pic',
                                'name'=> 'Testing Pic Album'
                        );

                        $create_album = $facebook->api('/me/albums', 'post', $album_details);






                        $args = array(
                                'message' => 'Photo from application',
                                'image' => '@'.$imgURL
                        );



                        $url = 'http://graph.facebook.com/'.$create_album['id'].'/photos?access_token='.$aut_key;
                        $ch = curl_init();
                        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);
4

3 回答 3

1

这是对我有用的代码

<?php
    $img = 'image.jpg';
    $args = array(
       'message' => 'Photo from application',
        'access_token'=>urlencode('Your Access token'),
    );
    $args[basename($img)] = '@'.realpath($img);

    $ch = curl_init();
    $url = 'https://graph.facebook.com/me/photos';
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
    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);
    $response = json_decode($data,true);

    if($response[id]>0){
    // yes
    }

    print_r(json_decode($data,true));

    print_r(curl_error($ch));
?>

可能对你有帮助。

于 2013-02-06T10:30:22.717 回答
0

我也遇到过同样的问题

请尝试确保 $imgURL 是您服务器上的相对图像位置,而不是图像的通用网址。

另外,尝试在这里交叉检查http://developers.facebook.com/blog/post/498/

于 2013-01-26T10:45:35.803 回答
0

尝试改变

 'image' => '@'.$imgURL

 'source' => '@'.$imgURL

Facebook API 指定“来源”应包含图像信息。上传图像时,图像 API 中没有提及“图像”字段。

Facebook 照片 API 文档

于 2013-01-26T12:44:49.633 回答