2013-12-07 120 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