2012-03-22 11 views
4

たとえば、私は自分のウェブサイトにWordPressをインストールしています。私はFacebookの写真をURLでアップロードしたいと思っています。 MY画像のURLは次のとおりです。Facebook - URLを使って写真をアップロードするには?

http://example.com/wp-content/abc123.jpg

、私は特定のアルバムに直接自分のウェブサイトを経由してFacebook上でこの画像をアップロードしたいです。私は全くN00bです!だからコーディングについて何も知らない。

私の目標は、表紙のウェブサイトを作成することです。

* SECOND UPDATE *: ここで私が今使っているコードです:

<?php 
     $app_id = "12354"; 
     $app_secret = "1213243434"; 
     $post_login_url = "http://example.com/sdsds"; 
     $album_id = "1234224"; 
     $photo_url = "http://example.coom/test.jpg"; 
     $photo_caption = "my caption"; 

    $code = $_REQUEST["code"]; 

    //Obtain the access_token with publish_stream permission 
    if (!$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 
     . "&client_secret=" . $app_secret 
     . "&redirect_uri=" . urlencode($post_login_url) 
     . "&code=" . $code; 
    $response = file_get_contents($token_url); 
    $params = null; 
    parse_str($response, $params); 
    $access_token = $params['access_token']; 

    // POST to Graph API endpoint to upload photos 
    $graph_url= "https://graph.facebook.com/" 
     . $album_id . "/photos?" 
     . "url=" . urlencode($photo_url) 
     . "&message=" . urlencode($photo_caption) 
     . "&method=POST" 
     . "&access_token=" .$access_token; 

    echo '<html><body>'; 
     echo file_get_contents($graph_url); 

    echo '</body></html>'; 
    } 
?> 

をだから、このコードからは、私はFacebookを利用して "test.jpg" をアップロードすることができていますが、今問題は私が1つのイメージだけをアップロードしたくないということです。私はたくさんのイメージをアップロードしたいので、変更したくありません。 "$ photo_url =" http://example.coom/test.jpg ";"新しい写真のためのこのコードはどんな助けもありがとう!

+0

これは、より多くのヘルプサイトであり、「コードを提供する」サイトではありません。私はあなたがhttp://developers.facebook.comサイトを見て、特にhttps://developers.facebook.com/docs/reference/api/photo/を見てみることをお勧めします – TommyBs

+3

その上に、特にこの投稿はhttps:/ /developers.facebook。com/blog/post/526 /はURLを使ったアップロードについての情報を持っているはずです – TommyBs

答えて

4

URLから写真をアップロードすることはできません。実際に写真をアップロードしていないので、「アップロード」とはみなされません。URLをポイントするだけです。あなたがする必要がどのような

は、実際の画像データを取得し、このURLへのPOSTリクエスト上のFacebookにそれを自分で送信することです:のparamsと

https://graph.facebook.com/ALBUM_ID/photos 

メッセージソース

イメージをサーバーにローカルに置いていない場合は、イメージをダウンロードし、その内容を読んでから、facebookに投稿する必要があります。


編集

@TommyBsコメントのおかげで、私はURLを介してアップロードすることも可能ineedでは、対象であることがわかります。 代替案について話しているので、私は答えを残しておきます。


第二編集

あなたは、いくつかの画像をアップロードしたい場合は、2つのオプション(私はそれを見るように)持っている:

(1)ログインfacebookで提供Batch Requestsを使用します。 URLを使ってFacebookに画像をアップロードしようとしたことがないので、この特定の方法で動作するかどうかテストする必要があります。

(2)のようなもの、画像ごとに要求を送信します。

function uploadPicture($albumId, $photoUrl, $message, $token) { 
    $url= "https://graph.facebook.com/" 
     . $albumId . "/photos?" 
     . "url=" . urlencode($photoUrl) 
     . "&message=" . urlencode($message) 
     . "&method=POST" 
     . "&access_token=" . $token; 

    return file_get_contents($url); 
} 

は、それからちょうど異なるパラメータでこの機能を再利用。

+0

ええ、これはかなり隠されています。誰かが実際にドキュメントにないという事実についてfacebookで実際にバグを起こしているので、うまくいけば結局は文書化されるでしょう! – TommyBs

+0

ドキュメントを更新していただき、ありがとうございます。 –

+0

助けてくれた皆さん、特に@TommyBs for codeのおかげでありがとうございました:今、私はFacebookに写真をアップロードすることができます。今は同じコードからたくさんの写真をアップロードする方法を知りたいだけです。ここに私が使用しているコードは –

関連する問題