0

.. フラッシュ用の FaceBookDesktop API を使用して FB に画像をアップロードしようとしています .... ファンページ ID を使用して画像をアップロードしていますが、それは常に自分のアルバムに移動します :/

誰かがアイデアを持っていますか?

乾杯

4

4 に答える 4

1
var values:Object = {message:String(nomFotoASubir), fileName:'FILE_NAME',image: sub};
FacebookDesktop.api('/'+albumID+'/photos', handleUploadComplete, values,'POST');    

jBitの答えと同様に、最初の「/」が必要かどうかはわかりません...Anoth。エラーの原因となる可能性があるのは、ユーザーアクセストークンではなく、ページアクセストークンが必要なことです。このアクセストークンは簡単に入手できます。このメモとリンクを参照してください...

ページアクセストークン

現在のユーザーではなく、ページとして次の操作を実行するには、Graph APIオブジェクトの読み取りに一般的に使用されるユーザーアクセストークンではなく、ページのアクセストークンを使用する必要があります。このアクセストークンは、manage_pages権限を持つ/ USER_ID/accountsにHTTPGETを発行することで取得できます。これにより、ユーザーが管理アクセス権を持つページ(アプリケーションプロファイルページを含む)のリストと、それらのページのaccess_tokensが返されます。または、上記のように、manage_pages権限で/ PAGE_ID?fields =access_tokenにHTTPGETを発行することにより、単一の特定のページのページアクセストークンを取得できます。特に明記されていない限り、ページへの公開にはpublish_stream権限も必要です。

開発者ページへのリンク

いくつかの答えが正しければ、それを正解としてマークしてください。他に問題がある場合は、問題や他の人と同様の問題の解決をお手伝いできるようにお知らせください...

于 2011-12-14T14:08:24.320 に答える
0

この問題が発生しました。ログに記録されたユーザーの写真とアプリアカウントのアルバムに写真をアップロードできるようにしたかったのです。

つまり、Facebookがアプリ名で自動作成したアルバムに写真が常にアップロードされるということです。彼らがあなたのアプリに許可を与えたら、あなたのアカウントとログに記録されたユーザーアカウントで。

だからこれを知って私は次のことをしました。

権限を管理するために、必要な権限を持つアレイを使用します。これを使用しました

var permissions:Array = new Array("publish_stream", "user_photos" , "publish_actions");
FacebookDesktop.login(onLogin, permissions);

ログインが完了したら、これを使用して画像をアップロードできます

ログに記録されたユーザーアルバムに写真をアップロードする場合

// photoBitmap is my image loaded and placed in a Bitmap var
// photoMessage is an string with the message you want to show in the image
// fileName is an string with the name you want to use for the image

    var photoParams:Object = {image: photoBitmap, message: photoMessage, fileName: photoName};

    FacebookDesktop.api("me/photos", uploadCompleteHandle, photoParams, "POST");

    function uploadCompleteHandle(success:Object, fail:Object):void{

        if(success){
           trace("Image uploaded successfuly");
           }else{
             trace("Fail uploading image");
             }
           }

画像をアプリケーションアカウントアルバムにアップロードするには、これを使用します。

var photoParams:Object = {image: photoBitmap, message: photoMessage, fileName: photoName, access_token: accessToken};

FacebookDesktop.api("/" + albumId + "/photos", uploadCompleteHandle, photoParams, "POST");

private function uploadCompleteHandle(success:Object, fail:Object):void{

    if(success){
       trace("Image uploaded successfuly");
       }else{
         trace("Fail uploading image");
         }
       }

その変更点は、追加の パラメーター(access_token)を追加し、 ( "/" + albumId + "/ photos")の( "me / photos")を変更して、の任意のフォトアルバムに写真をアップロードできるようにすることです。アルバムIDを使用している私のFacebookアカウント。アプリケーションアルバムにアップロードするだけなら( "me / photos")を使用できますが、 ( "/" + albumId + "/ photos")が好きなので、Facebookの自動作成アルバムの代わりに別のアルバムを選択できます

アルバムIDを見つけるには、Facebookでアルバムにアクセスすると、ページの最後に次のようなものが表示されます:(https://www.facebook.com/media/set/?set=a.411960374564668.85712。100120829275312&type = 3&l = 216e24dddf)アルバムIDはこの部分です100120829275312

このコード作業には、access_tokenが必要です。1つを取得するには、Facebookのアプリケーション設定に移動し、OpenGraphプロトコルを追加する必要があります

Open Graphプロトコルを作成するときは、トークンにこのオプションを選択してください

アクションタイプ->公開

オブジェクト->記事

アクションタイプを選択するときは、右のリンクをクリックしてください(「コードの取得」)

さまざまなケースで使用する多くのコードを含むウィンドウが表示されます。これらのコード内で、access_tokenの値を確認できます。これは次のようなものです。

AAAGl5aaLlYYBAGqWHMGbxmasf354R15qXf12xAfOBFskr3OZBSEPw7H7rGt9bH4ZCwHS7Eoft9m8q91NYqzY3WOoGHYDnEgybsjONPNSoo8CZB7jdfsfsB

これが皆さんのお役に立てば幸いです。お読みいただきありがとうございます:)

于 2012-07-30T16:05:14.717 に答える
0

ファン ページ自体の代わりに、アルバムに投稿しようとしましたか (つまり、ターゲット アルバム ID を使用して)。

var params:Object = {image:bitmap, fileName:'FILE_NAME'};
Facebook.api('ALBUM_ID/photos', myCallbackFunction, params, "POST");
于 2011-07-28T17:13:38.847 に答える
0

デフォルトでは、画像をアップロードすると、現在ログインしているユーザーのページに移動します。すべてのアプリ ユーザーをアプリへのアップローダとして承認するファン ページの認証トークンを取得する必要があります。したがって、ユーザー用とアプリ用のトークンがあります。アプリ トークンを使用する場合は、アップロードできます。

于 2011-07-29T00:05:37.950 に答える