2011-01-28 15 views
4

私のサーバでレンダリングされた写真を、その場でユーザーのFacebookブックアルバムにアップロードしようとしています。 FB Docsは非常に、非常に、非常に悪いです(私は、誰かのために、PHP APIを使ってGraph APIコールの良いコード例を見せたいと思っていました)。Facebook PHP SDKアップロード写真

答えて

5

このようなものです。

 try { 
     $facebook->setFileUploadSupport('http://www.example.com/'); 
     $response = $facebook->api(
      '/me/photos/', 
      'post', 
      array(
      'message' => 'This is my image caption', 
      'source' => '@/path/to/image' // @-sign must be the first character 
     ) 
     ); 
     } 
     catch (FacebookApiException $e) { 
     error_log('Could not post image to Facebook.'); 
     } 

EDIT:まずこのコードを使用して認証する必要があります。

$facebook = new Facebook(array(
    'appId' => 'YOUR_APP_ID', 
    'secret' => 'YOUR_APP_SECRET', 
    'cookie' => TRUE, 
    'domain' => $_SERVER['SERVER_NAME'] 
)); 

$facebook->getSession(); 

try { 
    $me = $facebook->api('/me'); 
} 
catch (FacebookApiException $e) { 
    $me = NULL; 
} 

if (is_null($me)) { 
    $auth_url = $facebook->getLoginUrl(array(
    'req_perms' => 'read_stream,publish_stream,user_photos' 
)); 

    header("Location: $auth_url"); 
} 

Hereは、ユーザーに要求できるすべてのアクセス許可へのリンクです。

+0

投稿の目標は何を意味していますか? www.example.comはどのようなものにする必要がありますか? – t0mgs

+0

申し訳ありません。私は自分のプロジェクトの1つからスワイプし、そのテキストを変更するのを忘れました。これは、Facebook APIが例外を投げたことを意味し、後でそれを確認するためにPHP error_logにログを記録します。 example.comはスクリプトを実行しているサイトのドメイン名です。 –

+0

これはGraph API Requestsに行く方法だと思いますか?パラメータとURL(/ me/photos)を必要なものに変更してください。 – t0mgs

関連する問題