Ошибка в файле политики Facebook - PullRequest
3 голосов
/ 25 января 2010

К настоящему времени я очень устал от файла crossdomain.xml в Facebook, наконец-то он заработал для загрузки картинок с сервера. Теперь мне нужно загрузить переменные из моего приложения, используя flash. Я получаю эту ошибку.

Error: [strict] Ignoring policy file at http://apps.facebook.com/crossdomain.xml due to   incorrect syntax.  See http://www.adobe.com/go/strict_policy_files to fix this problem.
*** Security Sandbox Violation ***
Connection to http://apps.facebook.com/feline-frenzy/endpoints/challengewin/ halted - not     permitted from http://media.varheroes.com/flash/endpointstest.swf
Error loading data
Error: Request for resource at http://apps.facebook.com/feline-   frenzy/endpoints/challengewin/ by requestor from    http://media.varheroes.com/flash/endpointstest.swf is denied due to lack of policy file  permissions.

Какие-нибудь решения?

Вот мой код:

Security.loadPolicyFile("http://api.facebook.com/crossdomain.xml");
Security.allowDomain("*");
Security.allowInsecureDomain("*");  

myData = new LoadVars()
myData.load("http://apps.facebook.com/feline-frenzy/endpoints/challengewin/") 
myData.onLoad = function(succes){ 
if(succes){ 
     trace("DATA SAVED!!!1");
  } else trace ("Error loading data") 
} 

Ответы [ 2 ]

2 голосов
/ 25 января 2010

Я не уверен, разрешает ли Facebook доступ к apps.facebook.com напрямую из Flash. Хотя crossdomain.xml в корне является именем и расположением файла по умолчанию, вы можете установить его так, как вам нравится. Например, если это может быть apps.facebook.com/policies/flashpolicy.xml, или что-то еще, что они могли придумать. Причина, по которой они могут это сделать, заключается в том, чтобы люди не делали именно то, что вы пытаетесь сделать.

Конечно, вы можете использовать прокси для службы, которую хотите использовать. На вашем сервере будет скрипт, который сделает запрос на Facebook для вас. Поэтому вместо нажатия http://apps.facebook.com/feline-frenzy/endpoints/challengewin/ вы нажмете http://yourserver.com/facebookProxy, и этот прокси-скрипт выполнит http-запрос на facebook и вернет искомые данные.

Вот только один пример , написанный на PHP.

0 голосов
/ 25 января 2010

Просто догадываюсь здесь, но я замечаю, что URL в вашем звонке на Security.loadPolicyFile("http://api.facebook.com/crossdomain.xml"); отличается от URL в вашей ошибке (говорит, что не удалось прочитать файл политики на apps.facebook.com/crossdomain.xml)

Второй URL-адрес также является корнем вашего myData.load("http://apps.facebook.com/feline-frenzy/endpoints/challengewin/") URL-адреса, по которому можно ожидать, что Flash будет искать файл политики.

Помогает ли это вам сузить проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...