Open Stream API是Facebook近期釋放出的API, 主要功能就是讓應用程式開發者可以在任何地方包含第三方網站, 行動裝置, 桌面環境去讀取已登入使用者Wall上的訊息流(Stream)去進行混搭的應用.
要讀取Facebook平台上使用者的Stream最大的前提在於, 使用者必須允許你的應用程式這樣做. 也就是說使用者必須允許你應用程式的"Entended Permission"中的"read_stream", 若要讓應用程式可以發佈Stream到使用者的Wall上的話, 使用者必須額外允許"publish_stream"的"擴展權限"
附上一個範例網站供參考
FB.Connect.showPermissionDialog(permission, function( granted_permission ){ if( !granted_permission ){ alert('您不允許這些"延伸權限"'); } else { alert( granted_permission ); } return false; });
FB.Connect.showPermissionDialog
message : 用逗號分隔開來的字串, 代表應用程式想要使用者進行"Allow"的權限
例如 : publish_stream,read_stream,sms就代表要同時向使用者請求發佈Stream(publish_stream), 讀取Stream(read_stream)以及發送email(email)的權限.
第二個參數為Callback function, 當使用者設定權限完成後會回傳一個字串, 字串內容就是使用者已經允許(Allow)過的"Extended Permission"
反之若是設定失敗或是請求的擴展權限全都被使用者否決, 那回傳值就會是null
一但完成了必要的權限請求且使用者也Allow了之後,就可以使用FB.Facebook.apiClient.stream_get來取得使用者Wall之上的Streams了
$('#getStreamBtn').bind('click',function(){ var streamList = $('#streamList'); streamList.html(''); FB.Facebook.apiClient.stream_get( '','','',30,'',function(r,e){ for( i = 0, j = r.posts.length; i< j; i++ ){ if( !r.posts[i].message ){ r.posts[i].message = '非文字型訊息'; } var item = ''; item += '
'; item += r.posts[i].message; item += ''; $(item).appendTo(streamList); } }); });
No comments:
Post a Comment