1

メッセージとURLリンクとともにビットマップをFacebookのウォールに投稿する必要があります。

https://developers.facebook.com/docs/reference/api/user/#photosによると、Facebookアルバムに写真を追加するための4つのパラメーターがあります。

source、、、、。message_ place_no_story

ただし、次のようなコードを使用することをお勧めします。

Bitmap bm = ...;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(CompressFormat.JPEG, 100, baos);
final byte[] data = baos.toByteArray();
Bundle postParams = new Bundle();

postParams.putByteArray("photo", data);
postParams.putString("message", "My message here");
postParams.putString("link", "http://www.google.com");

Request request = new Request(session, "me/photos", postParams, HttpMethod.POST, callback);
RequestAsyncTask task = new RequestAsyncTask(request);
task.execute();

...このコードは、壁にリンク( "http://www.google.com")が表示されないことを除いて、正常に機能します。

私は3つの質問があります:

  1. なぜ機能postParams.putByteArray("photo", data)するのですか?photoドキュメントによるとパラメータはありません(上記を参照)。

  2. パラメータを使用できない場合link、SLComposeViewControllerクラス(http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Reference/SLComposeViewController_Class/Reference/Reference.html)はどのように機能しますか?方法があり- (BOOL)addURL:(NSURL *)urlます。

  3. パラメータを使用できるのにlink、なぜ機能しないのですか?

4

1 に答える 1

0

さて、質問(2)と(3)の答えを見つけました。それは非常に単純であるように見えました:使用せずlink、単にそれを追加してmessageください:

postParams.putByteArray("photo", data);
postParams.putString("message", "My message here" + " " + "http://www.google.com");
//postParams.putString("link", "http://www.google.com");

私の質問(1)については、まだはっきりしていません。なぜではpostParams.putByteArray("photo", data);なく、うまく機能するのpostParams.putByteArray("source", data);でしょうか。photoドキュメントにはパラメータについては何も書かれていません。

于 2012-11-15T10:59:09.897 に答える