2011-08-04 96 views

回答

1

不,不適用於FB.ui。要直接發佈到用戶牆上而無需進行對話,您必須使用FB.api。爲此,用戶必須先登錄並授予您的應用publish_stream權限。從文檔中的代碼示例:

var body = 'Reading JS SDK documentation'; 
FB.api('/me/feed', 'post', { message: body }, function(response) { 
    if (!response || response.error) { 
    alert('Error occured'); 
    } else { 
    alert('Post ID: ' + response.id); 
    } 
}); 

要知道,雖然Facebook的好惡直接牆上張貼的,除非您發佈的內容是用戶與您的應用程序的流量交互的直接結果,你所冒的風險被標記爲垃圾郵件並暫停您的應用。來自platform policy (section IV)

.2。除非用戶在工作流程的早期手動生成內容,否則不得預填充與以下產品關聯的任何字段:流式傳輸報道(Facebook.streamPublish和FB.Connect.streamPublish的user_message參數,以及流的消息參數。發佈),照片(標題),視頻(描述),註釋(標題和內容),鏈接(評論)和Jabber/XMPP。

.3。如果用戶授予您發佈權限,則在代表用戶採取任何行動(例如發佈內容或創建活動)之前,您仍必須徵得用戶的同意。

從個人經驗來看,Facebook會堅持讓您的應用在採取任何發佈行動之前通過某種方式通知用戶。這並不會阻止您將應用程序投入使用,這違反了他們的政策,但是如果他們的應用程序監控團隊接受了這些應用程序,他們就可以暫停應用程序,直到您做出所需的更改。

+0

好的,謝謝你的幫助 –

+0

如果這是你的情況的正確答案,請將它標記爲:) – shanethehat

0

試試graph api?以下是相關部分:

您可以通過使用訪問令牌向相應的連接URL發出HTTP POST請求來發布到Facebook圖表。例如,您可以通過發出一個POST請求https://graph.facebook.com/arjun/feed張貼在阿瓊的牆新牆後:

curl -F 'access_token=...' \ 
    -F 'message=Hello, Arjun. I like this new API.' \ 
    https://graph.facebook.com/arjun/feed 

很顯然,這不是JavaScript的API,但它的伎倆。我不認爲沒有直接通過JavaScript API彈出就可以完成。

+0

好的,謝謝你的幫助 –