Android的图片后向Facebook页面的公共墙(Android post picture to

2019-11-01 08:54发布

我目前能张贴到使用公共页面墙:

JSONObject json = new JSONObject();
json.put("message", "I'm on your wall");



Request req = Request.newPostRequest(getSession(), "PowerCardSoftware/feed", GraphObject.Factory.create(json), new Callback() {
        @Override
        public void onCompleted(Response response) {
            if(response.getError() != null)
                Log.e("FRAGACTIVITY", response.getError().toString());
            Toast.makeText(getBaseContext(), "I hacked your facebook!", Toast.LENGTH_SHORT).show();
        }
    });
    Request.executeBatchAsync(req);

我想发布图片的用户需要到公共墙为好。 我已经使用捆绑的,而不是一个JSONObject并使用这些线路的尝试:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
postPhoto.compress(CompressFormat.JPEG, 100, baos);
params.putByteArray("picture", baos.toByteArray());
params.putByteArray("source", baos.toByteArray());

他们俩给我这样的错误 - 的errorMessage:(#100)图片网址的格式不正确

任何人都知道如何将照片张贴到别人的Facebook涂鸦墙没有了Facebook SDK使用被废弃的函数/对象?

Answer 1:

这是我的代码上传手机上的本地存储的照片:

        Request request6 = Request.newUploadPhotoRequest(
                session,
                ((BitmapDrawable) getResources().getDrawable(
                        R.drawable.picture)).getBitmap(), callback6);
        RequestAsyncTask task6 = new RequestAsyncTask(request6);
        task6.execute();

这是在自己的墙上上传。 之所以没有选择到选择其他收件人是由于二月重大更改时将禁止张贴到其他人的墙。

见我刚才的回答 。

编辑:

什么是上传照片,将显示在一个地方的带有照片和消息墙的最好方法?

你可以试试这个,看看这是否正常工作?

    Bundle parameters = new Bundle();
    parameters.putParcelable("picture", YOUR_BITMAP_HERE);
    parameters.putString("message", "my message for the page");

    return new Request(session, "PowerCardSoftware/feed", parameters, HttpMethod.POST, callback);

我可以添加使用newUploadPhotoRequest()的消息?

不,添加一个消息,你的照片,你会不会使用newUploadPhotoRequest 。 如果你深入到源,它只是一个的包装Request ,所以做了一样的方法,但增加了一个额外的参数, message ,你想要的信息,并执行它。 我没有亲自验证它,但它应该工作。 让我知道,如果它没有。



Answer 2:

这是我的解决方案。 我引用的杰西·陈的回答,并做了一些修改。

Bitmap image = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "demo.jpg");
Bundle parameters = new Bundle();
parameters.putParcelable("source", image);
parameters.putString("message", "my message for the page");
Request request = new Request(Session.getActiveSession(), "me/photos", parameters, HttpMethod.POST, new Request.Callback() {
    @Override
    public void onCompleted(Response response) {
        showPublishResult(mainActivity.getString(R.string.photo_post), response.getGraphObject(), response.getError());
    }
});
request.executeAsync();


Answer 3:

您可以检查facebookSDK项目/测试文件夹和搜索关键词newPostRequest。 示例代码是如下面

GraphObject statusUpdate = GraphObject.Factory.create();
                String message = "message";
                statusUpdate.setProperty("message", message);
                statusUpdate.setProperty("link", "http://stackoverflow.com/questions/14129546/android-post-picture-to-facebook-public-page-wall#");
            Request request = Request.newPostRequest(Session.getActiveSession(), "me/feed", statusUpdate, new Callback() {

                @Override
                public void onCompleted(Response response) {

                }
            });
            request.executeAsync();


文章来源: Android post picture to Facebook public page wall