我定义了以下HTTPService:
<mx:HTTPService id="youTubeHttpService" result="resultHandler(event)" fault="faultHandler(event)"/>
我正在使用以下网址(模式)获取特定用户的YouTube视频列表:
http://gdata.youtube.com/feeds/api/users/Y/uploads
其中Y是YouTube上的注册用户。
例如:http://gdata.youtube.com/feeds/api/users/YouTube/uploads
我使用以下语法发送HTTP请求:
youTubeHttpService.url = "http://gdata.youtube.com/feeds/api/users/YouTube/uploads";
youTubeHttpService.resultFormat = "object";
youTubeHttpService.send();
现在,上面的代码适用于使用我们软件的某些人,而其他人遇到以下错误(在faultHandler()中):
Error: [RPC Fault faultString="Security error accessing url" faultCode="Channel.Security.Error" faultDetail="Destination: DefaultHTTP"]
同样,错误发生在某些人身上,而不是其他人身上。
我错过了什么吗?它是机器/浏览器特定的问题吗?作为一个完整性检查,上面的代码使用chrome中相同的.swf文件,即firefox和safari。
我已经阅读了关于crossdomain.xml的内容,并且认为这不是YouTube已定义的问题。
最后,所有用户(内联网应用)都在使用IE和相同版本的闪存。
任何帮助都会非常感激,因为我过去2天一直在拔头发并一遍又一遍地问这个问题“为什么它只发生在一些用户而不是其他用户?”
范数。
答案 0 :(得分:0)
他们的安全设置是否可能过高?查看此页面以更改它们http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html
答案 1 :(得分:0)
您有跨域政策限制
http://gdata.youtube.com/crossdomain.xml
看起来youTube几乎可以容纳所有东西
所以这让我相信文件没有被加载
试试这个或它的一种形式。
Security.allowDomain( 'gdata.youtube.com' );
Security.loadPolicyFile( 'gdata.youtube.com' );
同时使用FireFox的HTTPFox插件查看是否加载了
如果情况变得更糟try this