0
Facebook Wallの画像を含むメッセージを、自分が所有する1つのページに投稿したいと考えています。私は次のコードを使用していますそれを行うには :Android - Facebookの壁紙に画像を投稿する際にエラーが発生しました。+ +
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}}
私が間違ってやっていますか?
ありがとうございます。
「画像」は公開可能な画像のURLでなければなりません。フィードに投稿するときにバイナリイメージデータをアップロードすることはできません。 – CBroe
こんにちはCBroe、ツアー説明ありがとうございます。ユーザーが今撮った写真をアップロードしたいと思います。それは可能ですか?どうやって?ありがとうございました。 – Carlos
それから、実際の写真のアップロード(https://developers.facebook.com/docs/graph-api/reference/user/photos#Creating)をしなければなりませんが、同時にリンクを投稿することはできません。 – CBroe