2

我定义了以下 HTTPService:

<mx:HTTPService id="youTubeHttpService" result="resultHandler(event)" fault="faultHandler(event)"/>

我正在使用以下 URL(模式)来获取特定用户的 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 和相同版本的 flash。

任何帮助将不胜感激,因为我在过去 2 天一直在拔头发并一遍又一遍地问这个问题“为什么它只发生在某些用户而不发生在其他用户身上?”

规范。

4

2 回答 2

0

您有跨域政策限制 http://gdata.youtube.com/crossdomain.xml

看起来youtube几乎允许所有东西。
所以这让我相信文件没有被加载。
试试这个或它的一种形式。

Security.allowDomain( 'gdata.youtube.com' );
Security.loadPolicyFile( 'gdata.youtube.com' );

还使用 FireFox 的 HTTPFox 插件来查看它是否被加载

如果情况变得更糟,试试这个

于 2011-08-01T17:47:19.353 回答
0

他们的安全设置可能太高了吗?查看此页面以更改它们http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html

于 2011-07-28T23:51:34.820 回答