2012-02-03 107 views
2

我在加載從Facebook上的Flash應用程序我的個人資料圖片時出現問題。它工作正常,在當地,但是當我上傳到Facebook加載此配置文件圖片爲我的只有(不是我的朋友):http://profile.ak.fbcdn.net/問題在AS3加載我的個人資料圖片

下面是我在做什麼:

  1. 找我朋友的Facebook的ID和我
  2. 創建一個URL字符串:graph.facebook.com/[FACEBOOK ID] /圖像類型=大,我的每個朋友和我嗎?
  3. 把URL扔進裝載機並加載!
  4. Facebook將實際地址返回給每個圖像:例如:http://profile.ak.fbcdn.net/hprofile-ak-snc4/370825_524761447_653077984_n.jpg
  5. 將RETURNED地址扔到另一個加載器中,然後加載最終的實際圖像。

完成此操作後,所有圖片都會加載給我的所有朋友,但出於某種原因,我的個人資料圖片總是在帖子的開頭加載通用圖片(profile.ak.fbcdn.net地址沒有任何以下...)。正是這種方式爲在登錄的任何用戶。我已經測試了多個配置文件,並有我的朋友測試應用程序以及,他們都拿到通用的圖片作爲「自己的」圖片...

在一個側面說明:代碼在2011年聖誕假期前正常工作......當我們在2012年回到學校時,它不再工作,我們也沒有更改我們的任何代碼。我不知道這是一個Facebook API錯誤,而不是我們做的。

+0

你嘗試加載你朋友的照片時監聽任何IO錯誤或引發SecurityError事件。這看起來像是一個安全問題,繞過了調試版本。 – 2012-02-03 07:52:23

回答

3

試試這個(把它放在什麼地方時,你的應用程序啓動):

Security.loadPolicyFile("http://graph.facebook.com/crossdomain.xml"); 
Security.loadPolicyFile("http://profile.ak.fbcdn.net/crossdomain.xml"); 
Security.loadPolicyFile("https://graph.facebook.com/crossdomain.xml"); 
Security.loadPolicyFile("https://profile.ak.fbcdn.net/crossdomain.xml"); 
Security.allowDomain("*"); 
Security.allowInsecureDomain("*"); 

它也可能有事情做與Facebook不斷變化的安全的東西。每一個應用程序需要被一個認證的HTTPS服務器上,這些天跑......

+0

完美的工作!我只是把它放在我的Flash客戶端的構造函數中!非常感謝,我浪費了很多時間尋找這個bug ...... – 2012-02-03 17:32:22

+0

很高興幫助;) – ThomasM 2012-02-03 17:37:27