将照片上传到特定相册中的Facebook页面

时间:2017-07-19 10:52:03

标签: android facebook sdk upload photo

我正忙着将照片上传到Facebook。要求是我们需要在页面上的特定相册上传照片。这是指向页面的链接:https://business.facebook.com/manegedagen/

我可以将照片成功上传到时间线,但我的要求是将照片上传到相册中。所以下面我首先从特定页面获取所有专辑。

    public void getAlbum() {
    new GraphRequest(
            AccessToken.getCurrentAccessToken(),
            "/2091172661108128/albums",
            null,
            HttpMethod.GET,
            new GraphRequest.Callback() {
                public void onCompleted(GraphResponse response) {
                    pageAlbums = new Gson().fromJson(response.getRawResponse(), FacebookResponseAlbum.class);

                    postImageOnWall(bitmap);
                    Log.e("", "");
                }
            }
    ).executeAsync();
}

在这种情况下,这个2091172661108128是我获得专辑列表的页面的ID。 所以后来我试图在特定专辑上发布图片

 public void postImageOnWall(Bitmap pBitmap) {
    Album dttAlbum = getDttAlbum(pageAlbums);
    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    pBitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream);
    String a = String.valueOf( dttAlbum.getId() ).concat("/photos");
    byte[] byteArray = byteArrayOutputStream.toByteArray();
    Bundle bundle = new Bundle();
    bundle.putByteArray("object_attachment", byteArray);// object attachment must be either byteArray or bitmap image
    bundle.putString("message", "hey fibs it works");
    new GraphRequest(AccessToken.getCurrentAccessToken(),
            String.valueOf( dttAlbum.getId() ).concat("/photos") ,
            bundle,
            HttpMethod.POST,
            new GraphRequest.Callback() {
                public void onCompleted(GraphResponse response) {

                    Log.e("", "");
                }

            }
    ).executeAsync();

}

问题是我得到:{Response:responseCode:400,graphObject:null,error:{HttpStatus:400,errorCode:200,errorType:OAuthException,errorMessage:Permissions error}}作为回应。

任何帮助将不胜感激。

0 个答案:

没有答案