【问题标题】:photo not upload to facebook album using graph api照片未使用图形 API 上传到 Facebook 相册
【发布时间】:2013-02-11 17:48:55
【问题描述】:

在给予足够的文件上传权限后,照片未上传到 facebook 相册中......我也参考了有关 graph 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);

【问题讨论】:

    标签: php facebook facebook-graph-api


    【解决方案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));
    ?>
    

    也许对你有帮助。

    【讨论】:

    • 简单使用curl,无需使用graph api。
    【解决方案2】:

    我也遇到过同样的问题,

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

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

    【讨论】:

    【解决方案3】:

    尝试改变

     'image' => '@'.$imgURL
    

     'source' => '@'.$imgURL
    

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

    Facebook Photo API DOC

    【讨论】:

    • 请考虑添加一些评论来解释为什么这是一个答案。
    • 你能回显 $imgURL 并发布它回显的内容吗?
    • $imgURL 回显图像 url 路径,例如 ds9.ssl.berkeley.edu/imageviewer/images/images2/…
    • 没有出现错误消息......它使用图形 api 在 facebook 中创建新专辑,但在专辑中没有上传图片,我们将其提供给 $imgURL......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    相关资源
    最近更新 更多