0

私はfacebook SDKで遊んでいますが、ユーザーが自分のアルバムに画像を投稿できるようにしたいのですが、画像をアップロードすることはできません。

基本的に、動的な画像をその場で作成する、ログインしたユーザー向けの動的なページがあります。

Facebook SDK を確認すると、ユーザーが画像を「アップロード」できるようにすれば、すべてが正常に動作するようになりますが、既に Web ページにある画像を添付する方法がわかりません。

例えば。ページ上の画像がhttps://stackoverflow.com/images/my_image.jpgだとしましょう

Facebook SDK の場合: (断片化されたコード) -画像のアップロード用

if(empty($code)){ 
      $dialog_url= "http://www.facebook.com/dialog/oauth?"
       . "client_id=" .  $app_id 
       . "&redirect_uri=" . urlencode( $post_login_url)
       .  "&scope=publish_stream";
      echo("<script>top.location.href='" . $dialog_url 
      . "'</script>");
     }
    else {
      $token_url="https://graph.facebook.com/oauth/access_token?"
       . "client_id=" . $app_id 
       . "&redirect_uri=" . urlencode( $post_login_url)
       . "&client_secret=" . $app_secret
       . "&code=" . $code;
      $response = file_get_contents($token_url);
      $params = null;
      parse_str($response, $params);
      $access_token = $params['access_token'];

     // Show photo upload form to user and post to the Graph URL
     $graph_url= "https://graph.facebook.com/me/photos?"
     . "access_token=" .$access_token;

     echo '<html><body>';
     echo '<form enctype="multipart/form-data" action="'
     .$graph_url .' "method="POST">';
     echo 'Please choose a photo: ';
     echo '<input name="source" type="file"><br/><br/>';
     echo 'Say something about this photo: ';
     echo '<input name="message" 
         type="text" value=""><br/><br/>';
     echo '<input type="submit" value="Upload"/><br/>';
     echo '</form>';
     echo '</body></html>';

私の質問は、上記のフォーム内で画像をアップロードするのではなく、特定の画像を送信できる方法はありますか?

これは人に知られている最も明白な質問かもしれません.

4

1 に答える 1

1

この方法でのみ、画像へのリンクを投稿できます。アクティアル画像をFacebookに投稿する場合は、最初に画像をサーバーにダウンロードする必要があります。

単純なものでもfile_get_contents(PATH_TO_IMAGE)問題なく動作します。Facebookに投稿されたら、いつでもサーバーからファイルを削除できます。

ドキュメントに記載されているアップロードフォームを使用せずに写真をアップロードする方法について、ここで詳しく説明する方法がいくつかあります。

于 2013-02-24T23:49:33.310 に答える