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 回答