我正忙着将照片上传到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}}作为回应。
任何帮助将不胜感激。