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

変更してみてください

 'image' => '@'.$imgURL

 'source' => '@'.$imgURL

Facebook APIは、「ソース」に画像情報を含める必要があることを指定しています。画像をアップロードするときの「画像」フィールドの画像APIには言及されていません。

Facebook Photo API DOC

于 2013-01-26T12:44:49.633 に答える
0

私は同じ問題に直面していましたが、

$imgURL がサーバー上の相対的な画像の場所であり、画像の一般的な Web URL ではないことを確認してください。

また、ここでクロスチェックしてみてくださいhttp://developers.facebook.com/blog/post/498/

于 2013-01-26T10:45:35.803 に答える