0

我的目标是将图片从 android 应用程序发布到用户的 facebook 墙上,而不要求他批准。

我使用以下代码发布图片:

String comment = editText.getText().toString();

byte[] data;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
data = baos.toByteArray();

Bundle postParams = new Bundle();
postParams.putString("message", comment);
postParams.putByteArray("picture", data);

Request.Callback callback = new Request.Callback() {
    public void onCompleted(Response response) {

        FacebookRequestError error = response.getError();
        if (error != null) {
            Toast.makeText(SendActivity.this, "Facebook post error.",
                    Toast.LENGTH_SHORT).show();
            Log.e(TAG, error.toString());
        } else {
            Toast.makeText(SendActivity.this, "Posted to facebook!",
                    Toast.LENGTH_LONG).show();
        }
    }
};

Request request = new Request(session, "me/photos", postParams,
        HttpMethod.POST, callback);

RequestAsyncTask task = new RequestAsyncTask(request);
task.execute();

在 facebook 应用设置中,我添加了两个权限:user_photos 和 publish_actions。该应用程序未处于沙盒模式。

当我使用该应用上传图片时,它会转到与我的应用名称相同的相册,并且有一个标签表明这张照片是从应用上传的,所以我需要批准或拒绝它。如果没有“批准”阶段,我如何发布图片?

4

1 回答 1

0

I think you need the publish_stream permission (not publish_action).

See https://developers.facebook.com/docs/reference/api/user/#photos

于 2013-03-06T18:18:40.560 回答