通过Facebook API将消息发布到别人的墙(朋友的墙上)?

时间:2013-01-14 14:04:40

标签: android ios facebook facebook-graph-api

Facebook是否允许用户A 使用移动应用在用户B的墙上发布内容(文字,图片或网址)?

我一直在寻找这个,但我在Facebook API文档中找不到任何相关信息。

为了说清楚,我不需要在自己的墙上发布内容,而是使用Facebook API在朋友的墙上发布。

我说得对,现在这是不可能的吗?

1 个答案:

答案 0 :(得分:1)

使用这段代码在另一个用户的墙上发布。

Bundle postStatusMessage = new Bundle();

// ADD THE STATUS MESSAGE TO THE BUNDLE
postStatusMessage.putString("message", finalStatusMessage);

Utility.mAsyncRunner.request(userID + "/feed", postStatusMessage, "POST", new StatusUpdateListener(), null);

您还可以使用上述代码上传照片,如下所示:

byte[] data = null;

ByteArrayOutputStream baos = new ByteArrayOutputStream();
Bitmap bmpImageCamera.compress(CompressFormat.JPEG, 100, baos);
data = baos.toByteArray();

Bundle postImgGallery = new Bundle();

// ADD THE PHOTO DATA TO THE BUNDLE
postImgGallery.putByteArray("photo", data);

然后用它来检查结果。

private class StatusUpdateListener extends BaseRequestListener  {

    @Override
    public void onComplete(String response, Object state) {

    }

    @Override
    public void onFacebookError(FacebookError e, Object state) {

    }

}

如果成功发布,onComplete()中的String response将为您提供该帖子的ID。

注意1:以上代码使用较旧的Facebook SDK(Pre v 3.x),因此如果您使用新代码,则必须调整代码以使用新SDK。它需要一些小的改动。

注2: Facebook计划停止让应用程序发布到其他用户墙的能力。资料来源:https://developers.facebook.com/blog/post/2012/10/10/platform-updates--operation-developer-love/。展望未来,您需要使用feed dialog选项。