0
我想发布一条消息与Facebook墙上的图像到我自己的一页。 要做到这一点,我用下面的代码:Android - 错误发布在Facebook上的Facebook墙上的图片与Facebook SDK 4. +
private void postOnWall() {
String PageAccessToken = "EAADpx4TvZCHcBAOw9fA2NaYLkwQUTx1ZCaRaxHN96HcXZCItbCCLiEVm8NmnMDZCJHDeZBR02WfEsVCciY27mtV2aXpZBWEsZC8wzyHZCSKcdQirIXyPuiLCIdCE2Y7oEcd9muMbbUvwWBH9iAzylJDG8VAljZARUG5zKZBeQpphuZCKcZCBecxf96WjwPPyZA5NeqzEZD";
AccessToken accessToken = new AccessToken(PageAccessToken, AccessToken.getCurrentAccessToken().getApplicationId(), AccessToken.getCurrentAccessToken().getUserId(), AccessToken.getCurrentAccessToken().getPermissions(), null, AccessTokenSource.FACEBOOK_APPLICATION_NATIVE, AccessToken.getCurrentAccessToken().getExpires(), null);
GraphRequest request = GraphRequest.newPostRequest(accessToken, "me/feed", null,
new GraphRequest.Callback() {
@Override
public void onCompleted(GraphResponse response) {
Log.i("facebook","response "+ response);
FacebookRequestError error = response.getError();
if (error != null) {
Log.e("facebook","Error "+ error);
}
}
});
byte[] data = null;
Bitmap bi = mImageBitmap;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bi.compress(Bitmap.CompressFormat.PNG, 100, baos);
data = baos.toByteArray();
String mMessage = "Message";
Bundle postParams = request.getParameters();
postParams.putByteArray("picture", data);
postParams.putString("message", mMessage);
postParams.putString("link", "https://play.google.com/store/apps/details?id=br.com.cfb.doar");
request.setParameters(postParams);
request.executeAsync();
}
我碰到GraphRequest以下回应:
{Response: responseCode: 400, graphObject: null, error: {HttpStatus: 400, errorCode: 100, errorType: OAuthException, errorMessage: Invalid parameter}}
我做错了吗?
预先感谢您。
'picture'必须是可公开访问的图片的URL;发布到Feed时无法上传二进制图片数据。 – CBroe
嗨CBroe,感谢您的旅游解释。我想上传用户刚刚拍摄的照片。那可能吗?怎么样?谢谢。 – Carlos
然后你必须做一个实际的照片上传(https://developers.facebook.com/docs/graph-api/reference/user/photos#Creating) - 但你不能同时发布一个链接。 – CBroe