4

キャンバス アプリケーションからユーザーのアルバムに画像を投稿できません。Facebookのドキュメントによると:

写真をユーザーのアルバムに公開するには、publish_stream 権限が必要です。これが許可されたら、写真のコンテンツとオプションの説明を含む HTTP POST 要求をこれらのいずれかに発行して、Graph API 接続にアップロードすることができます。

  1. https://graph.facebook.com/USER_ID/photos - 写真はアプリ用に作成されたアルバムに公開されます。アプリのアルバムがまだ存在しない場合は、自動的に作成されます。この方法でアップロードされたすべての写真は、この同じアルバムに追加されます。
  2. https://graph.facebook.com/ALBUM_ID/photos - 写真は、ALBUM_ID で表される特定の既存のフォト アルバムに公開されます。

では、ポイント 1 として、このような画像をアップロードすると...

Facebook.api("me/photos",imagePostCallback,{message:"",image:myImageBitmap,fileName:''},URLRequestMethod.POST);

...その後、必要に応じて作成されるアプリの名前の付いたアルバムに画像を配置することを期待できますか?

そうではありません

アルバムが存在しない場合に実際に起こることは、アップロードされた画像が存在する他の便利なアルバムにプッシュされることです。これらのアルバムは通常、他のアプリケーション用 (および他のアプリケーションによって作成されます) です。これは少し痛いです。

これまでのところ、次のことを試しました。

  1. サンドボックス モードを無効にします。アプリがサンドボックス モードになっているため、新しいアルバムを作成できないのではないかと考えていましたが、サンドボックス モードを無効にしても問題はなく、サンドボックス モードを有効にして直接アルバムを作成できます。
  2. マイアルバムの存在を確認し、必要に応じて作成します。アルバムを確認して存在しない場合は作成できますFacebook.apiが、ユーザー操作の直接の結果として呼び出されない場合、画像をアップロードするための POST 呼び出しが失敗するため、画像をアップロードできません。

そして今、私は少し困惑しています。明らかに、アプリが競合他社のアルバムに画像を投稿する可能性はありませんが、現時点で私が見ることができる唯一の代替手段は、アルバムを作成する必要がある場合、ユーザーに画像を 2 回送信させることです。何か案は?

4

1 に答える 1

3

paramsにaccess_tokenが必要だと思います:) ユーザーのFacebookに何かを投稿するときは、常にこれが必要です(情報を取得するときに常に必要とは限りません)。アクセストークンを取得する方法を以下に示します:)

public function post():void
{
    var _params:Object = new Object();

    _params.access_token = Facebook.getSession().accessToken;
    _params.message = "";
    _params.image = myImageBitmap;
    _params.fileName = "";

    Facebook.api("me/photos", imagePostCallback, _params, URLRequestMethod.POST);
}

また、アプリで許可を求めるときは、適切な許可があることを確認してください。

編集

わかりましたので、編集を少し見逃していました ;) 自分のアルバムを作成できるはずです。グラフ API のこの php コードを見てください。コードは AS3 に解析できる必要もあります。

http://developers.facebook.com/blog/post/498/

EDIT2

わかりました、さらに掘り下げました(知るのは面白かったようです)。これは、グラフ API を使用する場合に実際に機能するはずです。

FB.api('/me/albums', albumCreateCallback, {name: 'name of the album', message: 'description of the album'}, URLRequestMethod.POST);

その後、albumCreateCallback で画像をアップロードするために別の API 呼び出しを呼び出すと、動作して画像をアップロードするはずです (私が見つけたものによると)。

于 2011-07-07T19:13:05.523 に答える