キャンバス アプリケーションからユーザーのアルバムに画像を投稿できません。Facebookのドキュメントによると:
写真をユーザーのアルバムに公開するには、publish_stream 権限が必要です。これが許可されたら、写真のコンテンツとオプションの説明を含む HTTP POST 要求をこれらのいずれかに発行して、Graph API 接続にアップロードすることができます。
- https://graph.facebook.com/USER_ID/photos - 写真はアプリ用に作成されたアルバムに公開されます。アプリのアルバムがまだ存在しない場合は、自動的に作成されます。この方法でアップロードされたすべての写真は、この同じアルバムに追加されます。
- https://graph.facebook.com/ALBUM_ID/photos - 写真は、ALBUM_ID で表される特定の既存のフォト アルバムに公開されます。
では、ポイント 1 として、このような画像をアップロードすると...
Facebook.api("me/photos",imagePostCallback,{message:"",image:myImageBitmap,fileName:''},URLRequestMethod.POST);
...その後、必要に応じて作成されるアプリの名前の付いたアルバムに画像を配置することを期待できますか?
そうではありません。
アルバムが存在しない場合に実際に起こることは、アップロードされた画像が存在する他の便利なアルバムにプッシュされることです。これらのアルバムは通常、他のアプリケーション用 (および他のアプリケーションによって作成されます) です。これは少し痛いです。
これまでのところ、次のことを試しました。
- サンドボックス モードを無効にします。アプリがサンドボックス モードになっているため、新しいアルバムを作成できないのではないかと考えていましたが、サンドボックス モードを無効にしても問題はなく、サンドボックス モードを有効にして直接アルバムを作成できます。
- マイアルバムの存在を確認し、必要に応じて作成します。アルバムを確認して存在しない場合は作成できます
Facebook.api
が、ユーザー操作の直接の結果として呼び出されない場合、画像をアップロードするための POST 呼び出しが失敗するため、画像をアップロードできません。
そして今、私は少し困惑しています。明らかに、アプリが競合他社のアルバムに画像を投稿する可能性はありませんが、現時点で私が見ることができる唯一の代替手段は、アルバムを作成する必要がある場合、ユーザーに画像を 2 回送信させることです。何か案は?