我對flex和as3很新穎。我需要整合facebook for flex移動項目。我整合了面向android的facebook api。我正在尋找互聯網上的優秀教程,以便在flex中集成facebook。請建議我好教程Flex:用於flex項目的facebook apis
回答
有一個全動作腳本的方法來使用facebook apis,涉及facebook flash graph api,但它有點bug。只要你在瀏覽器中,它就可以用於大多數事情。
圖形api用於提示用戶登錄到他們的帳戶並授予應用程序許可權執行事件,然後對該用戶帳戶執行所需的操作。你開始用Facebook.init方法的全過程:
Facebook.init(APP_ID, onInit);
哪裏APP_ID爲您的應用程序的ID你,一旦你在Facebook上創建應用程序,並OnInit中是您創建一個回調函數,它應該像如下:
function onInit(result:Object, fail:Object):void{
var opts:Object = {perms:"publish_stream"};
if (result) //already logged in because of existing session
doStuff(); //in this case, publish on user's wall
else
Facebook.login(onLogin, opts);
}
這兩個參數必須在那裏。如果定義了請求,那就意味着用戶已經登錄。如果沒有,請提示用戶登錄並授予應用程序權限。查找更多關於開發者臉書網站的權限。
Facebook.login的第一個參數是回調函數,第二個參數是您希望用戶同意的權限。 onLogin()如下:
function onLogin(result:Object, fail:Object):void {
if (result) //successfully logged in
doStuff();
else
oh_well(); // they don't want to use it.
}
這可能會提示用戶登錄,但是,它會立即返回空值的結果。這與Facebook登錄功能編寫得不好有關,如果你在網站上設置你的Flash並用JavaScript控制檯進行調試,你可以看到它明顯在定時器上運行,看看你是否退出了或沒有退出,它永遠不會結束。但如果這不是什麼大問題......
...現在,爲doStuff。就我而言,我想發佈一條消息,swf和縮略圖到用戶的牆上。我用下面的代碼做了這個:
function doStuff(){
var obj:Object={
"message": "This is a test message",
"picture": "thumbnail.jpg",
"source": "flash file"
}
Facebook.api("/me/feed", onCallApi, JSON.decode(obj), "POST");
}
Facebook.api()真的很重要。 onCallApi是回調函數,JSON.decode(obj)是上面的json對象,具有適當的添加。 「我/喂」是Facebook如何連接一個飼料,用戶,朋友等Learn more about that stuff here. facebook文檔有一個更好的方法來放置Flash文件,使用相同的功能,但編碼的JSON中的不同參數,但我沒有能夠得到它的工作(我認爲這是因爲嵌套的jsons)。正如你所看到的,你需要來自as3corelib的JSON解碼器。
onCallAPI:
function onCallApi(result:Object, fail:Object):void {
if (result) {
//successful post
} else {
//unsuccessful post
}
}
,並應爲大多數應用程序做。
facebook flash api只是與javascript api接口,因此您需要從嵌入flash的html頁面上的facebook中導入適當的javascript函數。
如果你願意,你可以很容易地修復facebook.login。你可以繼續撥打Facebook。init()直到一段時間過去,或者在javascript中生成登錄窗口,監聽窗口關閉時的狀態,然後使用ExternalInterfaces與Flash回調接口來識別結果
在我所有的嘗試與閃存的fcebook API一起工作,我遇到了不間斷的問題。
Facebook被開發人員投票選爲世界上最糟糕的API,因爲經常發生變化以及錯誤纏身的無證代碼。閃存庫將與已經非常糟糕,破碎的開發者體驗不同步......儘管它們可能曾經一起工作過。 Facebook因沒有通知而闖入事件而臭名昭着。
迄今爲止,我的最大成功來自於與PHP API集成,以便使用JSON獲取需要的數據。 Facebook似乎更加認真地對待他們(他們不負責Flash)PHP API,並且希望能夠更新和工作。
- 1. flex - programmaticSkin僅用於特定項目
- 2. 如何從其他Flex項目調用Flex項目?
- 3. 將AS項目轉換爲Flex Builder中的Flex項目
- 4. Flex項目架構?
- 5. flex MS項目庫
- 6. Flex項目結構
- 7. 將flex web項目轉換爲flex項目
- 8. Flex移動項目選項
- 9. 的Flex項目在Firefox
- 10. Flex項目中的AIR Stage3D
- 11. 在tamil的flex contextmenu項目
- 12. flex項目中的問題
- 13. Flex項目與Actionscript項目的缺點?
- 14. CodeIgniter項目中的Flex項目?
- 15. URLLoader不適用於Flex 4.6適用於Android的移動項目
- 16. 當使用flex builder和flex sdk編譯項目時的差異
- 17. Facebook的Flex集成
- 18. Flex 4 DropDownList所選項目
- 19. Flex Builder AS3項目移植
- 20. flex項目忽略寬度
- 21. Flex項目未執行
- 22. Flex項目包括SWFAddress.js
- 23. Flex Spark DropDownList - 在項目
- 24. Flex DropDownList不選擇項目
- 25. Flex移動項目:Alert.show
- 26. Flex庫項目:NativeMenu與ContextMenu
- 27. 將Flash項目轉換爲flex項目
- 28. 組織團隊使用的Flex項目
- 29. 如何使Flex項目不填充Flex容器的高度?
- 30. 將現有的Flex 4.x項目遷移到Apache Flex 4.x
投票關閉,因爲用戶沒有[任何研究](http://code.google.com/p/facebook-actionscript-api/),問題太廣泛。 –