我最近开始整合 Facebook Connect AS3 应用程序并通过 Graph API 检索对象和图像。
在本地以外的任何地方运行,我收到以下形式的安全错误:
SecurityError:错误#2122:安全沙箱违规:Loader.content:xxxx 无法访问http://photos-a.ak.fbcdn.net/xxxx.jpg
策略文件是必需的,但在加载此媒体时未设置 checkPolicyFile 标志。
如果我添加一行表格:
Security.loadPolicyFile("ht_tp://photos-a.ak.fbcdn.net/crossdomain.xml");
- 那我对那台服务器没问题,但似乎有任意数量的域具有照片-[字母]格式。我已经为字母表中的每一个都添加了一个 - 它可以成功地检索跨域文件 - 但它似乎不是一个好的解决方案,并且不适应 Facebook将来可能实施的任何新的托管设置。
我考虑过的一件事是基于每个图像检索跨域策略文件,在发出图像请求之前从图像 URL 捕获域。不幸的是,至少通过 Graph 解决方案(我并没有仔细研究其他解决方案),他们的服务器在发出请求后解析图像 url,从更通用的东西,例如:
ht_tps://graph.facebook.com/ [objectId]/picture?type=small&access_token=[accessToken]
有没有人找到一种更可靠的方法来确保可以在不违反安全沙箱的情况下检索图像?或者 Facebook 是否维护了一个开发人员需要关注的明确列表?
谢谢!