Facebook的JavaScript SDK其實可以做到很多事,高興的話甚至可以用fql指令(facebook query language)去查詢資料,而這次來舉的例子是發佈功能Publish,這也是大家常在Facebook上看到FB遊戲會貼在塗鴉牆的訊息。
發佈的功能在Facebook上有程式碼與範例可以參考,請見JavaScript SDK - FB.ui,照用即可,我就不貼出來了,這邊只介紹一下各項參數,各參數影響的位置可以看上面兩張圖。
message: 使用者要說的話
name: 訊息標題
caption: 內容的標題
description: 內容敘述
href: name那個位置的連結
media:
- type: 多媒體型態,可用'image','flash'等等
- src: 檔案位置
- href: 點下多媒體後會跳去的連結
- text: 右下方連結的顯示文字
- href: 右下方的連結
基本上這些參數很多都是可以省略的,Facebook很聰明會自己想辦法,只要填你需要的資訊即可,不用想辦法都填滿。
實際上使用就是像這樣 。
如果有任何疑問請與我聯絡,感謝。
我發現在我電腦上的Chrome瀏覽器,發布視窗出來時會在頁面最上方,要拉上去才會看到,可是Firefox或IE卻是用另開視窗的方式,所以不會有這問題,真是詭異
ReplyDelete請問有無可能利用local端網頁發布訊息到facebook上面?
ReplyDelete看起來是沒有問題的。
ReplyDelete你好,我想請問載入javascript sdk的事..
ReplyDelete就我依照facebook上所說的在我自己寫的網頁裡貼上程式碼後(FB.init部分),再貼上FB.ui,但執行上卻無法顯示視窗出來,
想請問當初你載入sdk的時候有什麼步驟嗎? 謝謝!!
在chrome與safari上,若沒有先允許該app,那使用FB.ui呼叫一些功能會因為瀏覽器的安全性限制而無法使用,你有可能是遇到這個問題。
ReplyDelete如果可以的話把你的網頁連結給我,我看看會比較快XD
因為我應用程式裡沒有設定什麼Canvas URL之類的,當初只是為了要用javascipt 的東西而去申請APP ID,所以也不知道是不是應用程式沒東西的問題QQ
ReplyDeletehttp://127.0.0.1/js_tt.html
上面是我的連結網址,謝謝你!
不好意思..打錯網址了QQ
ReplyDelete是 http://114.47.110.80/js_tt.html
謝謝你><
<script src="http://connect.facebook.net/zh_TW/all.js#appId=133756766693527&status=1&cookie=1&xfbml=1"></script>
ReplyDelete這行去掉,然後把Fb.ui用function包起來,然後用onclick去觸發
看起來你的問題是在還沒載入完成FB JS SDK時就先呼叫FB.ui,所以會有錯。
不好意思..請問你指的function是要自己寫一個function包Fb.ui還是用上面的哪個function包起來呢?
ReplyDelete自己寫一個包起來啊XD
ReplyDelete其實你可以看我blog上的原始碼是怎麼寫的。
我有照做囉,感覺是我應用程式的問題@@
ReplyDelete因為他跳出的視窗跑出這個訊息:
API Error Code: 191
API Error Description: The specified URL is not owned by the application
Error Message: redirect_uri is not owned by the application.
你要做的是什麼功能 ?
ReplyDelete然後你貼的錯誤訊息是Facebook要跟你取得這個app授權時,因為你app上設定的redirect_uri有誤所造成的,注意引用JS時app id要填對,然後app中網站位置要設對。
我只是想試試JS SDK而已,因為我們專案要寫跟FB有關的東西
ReplyDelete我的APP ID有填對,那redirect_uri的部分是要在自己的網頁寫嗎@@? (不好意思一直打擾你..><)
APP設定內-Web Site-Site Url有設對嗎 ?
ReplyDelete然後你頁面拿掉了我沒辦法幫你測XD
有耶,我Site URL:http://iopudding.blogspot.com/
ReplyDeleteSite Domain:iopudding.blogspot.com
他也顯示沒問題@@
然後網頁在這邊:http://61.227.99.42/js_tt.html
引用JS的網址要是site url內設的才有用XD
ReplyDelete原來是他QQ 我再試試看!!
ReplyDelete謝謝你~
想請教一下 我這邊有facebook API的問題
ReplyDelete我這邊已申請完 app 取得id 跟 密鑰,
我是用php sdk3版本去連接,但怎樣都連接不上
sdk3最新的用法 getSession->getUsers;
不管怎麼取 我echo它的值都是0 ,意思是根本沒連接上
不知道跟我https沒有填上有沒有關係
我沒用過php的sdk耶...
ReplyDelete請問..若是要像youtube的分享功能那樣
ReplyDelete能夠發佈到自己塗鴉牆 好友塗鴉牆 以及社團
請問該如何做到呢?
目前我已經可以發佈到自己塗鴉牆,但我要的是發佈到社團.....
謝謝你哦~!!
感覺上發布到社團應該是沒問題的,我有空找一下方式。
Deletehttps://developers.facebook.com/docs/reference/dialogs/feed/
Delete參考Properties這段,應該是用to這個參數指到社團那邊就可以了
不過我沒實際試過,如果你有試成功請說一下吧 :)
感謝Died Liu哦~!!
ReplyDelete我快要瘋啦~~~感恩
我就改了兩個參數
ReplyDeletemethod: 'send',
to: 'groups後面的id',
這樣就可以發佈到社團了
變成適用傳送到社團,不知這樣有沒有錯誤??
看起來應該是這樣沒錯,恭喜你
ReplyDelete嗯.....感謝尼喔 ^ ^
Delete