1

画像をアルバムにアップロードしようとしています。アルバムの説明を作成する方法はありますか。

次のコードを使用しています。

<?php
    require_once 'fbpic/library/facebook.php';

    $app_id = "xxxx";
    $app_secret = "xxxxx";
    $facebook = new Facebook(array(
     'appId' => $app_id,
     'secret' => $app_secret,
     'cookie' => true
    ));
    $fbcheck= $facebook->getUser();

    if(is_null($fbcheck) or !$fbcheck or $fbcheck==0)
    {
     header("Location:{$facebook->getLoginUrl(array('scope' => 'user_status,publish_stream,user_photos,photo_upload'))}");

    }



        $facebook->setFileUploadSupport("http://" . $_SERVER['SERVER_NAME']);
        // add a status message
        $photo = $facebook->api('/me/photos', 'POST', 
            array(
                'source' => '@' .realpath("ContactUs.jpg") ,
                'message' => 'It is a programming test'
            )
        );

?>

4

1 に答える 1

2

アプリケーションから Facebook に写真をアップロードするときに、写真を配置するアルバムを ( ) に指定しない場合/me/photos、Facebook はアプリケーション用の自動アルバムを作成し、アプリケーションからのすべての連続アップロードは、その自動生成されたアルバムに移動します。

アプリケーションのアルバムに説明を付けたい場合は、アプリケーションで手動でアルバムを作成し、説明を指定する必要があります。次のコードでこれを行うことができます -

//Create an album
$album_details = array(
        'message'=> 'Album desc',
        'name'=> 'Album name'
);
$album_data = $facebook->api('/me/albums', 'POST', $album_details);

呼び出しが成功した場合、応答には、写真をアップロードするときに使用できる$album_data新しく作成された が保持されます。album_idその特定のアルバム ID にアップロードするだけです。

$facebook->api('/ALBUM_ID/','POST', array(
  'source' => '@' .realpath("ContactUs.jpg") ,
  'message' => 'It is a programming test'
  )
);

関連する album_id を他のユーザー データと共にデータベースに保存することをお勧めします。ユーザーがアプリケーションの外部でそのアルバムを削除した可能性があるため、アップロードするたびにそのアルバムの存在をテストすることを忘れないでください。

于 2012-05-26T09:00:10.983 に答える