2013-12-07 90 views
0

我使用Adobe Flash ActionScript 3.0從box.com上傳和下載文件。我正在將我的代碼從使用v1到v2的box.com API轉換。我能夠使OAuth進程正常工作(我獲得了access_token)。但是,我無法下載文件。這是因爲從box.com下載文件需要包含以下標題的GET:如何使用ActionScript通過授權標頭髮出HTTP GET

「授權:承載者」。 (參考:http://developers.box.com/docs/#files-download-a-file

然而,ActionScript不支持這一點:

由於瀏覽器的限制,自定義HTTP請求頭僅支持POST請求,而不是GET請求。 (來自:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLRequest.html#requestHeaders

如果有人知道這個解決方法,任何指針將不勝感激。

回答

0

您確定無法發送授權標頭嗎?我很確定我們有很多ActionScript開發人員已經想出瞭如何做到這一點。希望來自該社區的人能夠與實際建議的呼叫建立聯繫。

我們期望包含訪問令牌的授權HTTP頭不是自定義HTTP頭。所以我不認爲這應該是一個問題。 URLRequestHeader類的文檔說明,在應用程序安全沙箱內部和外部運行的內容與可以使用的標頭之間存在區別。您是否有可能在應用程序安全沙箱中沒有正確標記代碼?

我沒有動作腳本編碼器,但文檔看起來像你可以設置授權頭:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/URLRequestDefaults.html

+0

非常感謝你的回覆 - 我要看看它,並送還給你。 – user3078302

+0

關於Flex無法在HTTP GET中插入授​​權標頭的問題,stackoverflow上有幾個條目。例如: http://stackoverflow.com/questions/509219/flex-3-how-to-support-http-authentication-urlrequest 解決方法是關於使用POST來執行GET: https: //developers.google.com/gdata/docs/as-authsub?hl=de-DE&csw=1 但是,它需要crossdomain.xml在頭中包含X-HTTP-Method-Override。請參閱: http://photos.googleapis.com/data/crossdomain.xml 與此比較: https://api.box.com/crossdomain.xml – user3078302

+0

哇...是解決方法或官方工作流程? – Kokodoko