2013-01-14 104 views
3

Facebook是否允許用戶A使用移動應用在上發佈了一些東西(文字,圖片或URL),用戶B的牆?通過Facebook API發送消息給別人的牆(朋友的牆)?

我一直在尋找這幾天,但我在Facebook API文檔中找不到任何關於它的任何內容。

爲了說清楚,我不需要在我自己的牆上張貼一些東西,但是在我的朋友的牆上使用Facebook API。

我說得對,現在不可能/不允許嗎?

+0

http://stackoverflow.com/questions/4213767/how-to-post-on-facebook-wall-using-facebook-android-sdk-without-opening-dialog –

+0

@GeorgyGobozov嗯,這似乎是鏈接在自己的牆上張貼東西。我需要直接從移動應用程序發佈我的朋友牆上的內容。現在這更清楚了嗎?謝謝 – sandalone

+0

http://stackoverflow.com/questions/5896863/post-on-users-friends-facebook-wall-through-android-application?lq=1 – glomad

回答

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) { 

    } 

} 

如果成功發佈,String response在onComplete()將爲您提供該帖子的ID。

注1:上述代碼使用舊版Facebook SDK(Pre v 3.x),因此如果您使用的是新SDK,則必須修改代碼以適應新SDK。它將需要一些小的改變。

注2: Facebook已經計劃停止讓應用程序發佈到其他用戶牆上的能力。來源:https://developers.facebook.com/blog/post/2012/10/10/platform-updates--operation-developer-love/。展望未來,您將需要使用feed dialog選項。

+0

謝謝。我認爲不實施此功能是明智的。 – sandalone

+0

除了注2:您現在可以使用[共享對話框](https://developers.facebook.com/docs/android/share-dialog/),而不是提要對話框,因爲它能夠將Open Graph操作發佈爲好。 – IBoS

相關問題