1

Facebookのアルバム「プロフィール画像」に画像をアップロードするためのコードを書いていました。ギャラリーから画像を選択した後、バイト配列に変換されimageBytesてAsyncTaskに送信されます。以下のコードを使用して画像をアップロードします。facebookProfileImagesAlbumIdアルバム「プロフィール画像」のIDを持っています

 Bundle params_ = new Bundle();
 String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);

 params_.putString("source", encodedImage);
 /* make the API call */
 new GraphRequest(
        AccessToken.getCurrentAccessToken(),
        "/"+facebookProfileImagesAlbumId+"/photos",
        params_,
        HttpMethod.POST,
        new GraphRequest.Callback() {
              public void onCompleted(GraphResponse response) {
                   Log.i("Login", response.toString());
              }
        }).executeAndWait();

しかし、それは機能しておらずLog.i("Login", response.toString());、次のメッセージが表示されます

{応答: responseCode: 200、graphObject: null、エラー: {HttpStatus: -1、errorCode: -1、errorType: null、errorMessage: リクエスト本文を作成できませんでした}}

Facebook Graph API 2.4 を使用しています

4

1 に答える 1

1

次のコードを使用して、画像を Facebook の壁または特定のアルバムに投稿しました。

public void PostImage(Bitmap bitmap) {
        AccessToken token = AccessToken.getCurrentAccessToken();
        if (token != null) {
            Bundle parameters = new Bundle(2);
            parameters.putParcelable("source", bitmap);
            parameters.putString("message", "description");
            new GraphRequest(token, "/"+facebookProfileImagesAlbumId+"/photos", parameters, HttpMethod.POST, new GraphRequest.Callback() {

                public void onCompleted(GraphResponse response) {
                    Log.e("Image Post", "Res =" + response.toString());
                }
            }).executeAsync();
        }
    }

お役に立てれば!

于 2015-08-20T07:35:45.030 に答える