состояния Facebook в их документации по установке холст:Как настроить AWS S3, чтобы POST работать как GET
Наши серверы будут делать запрос HTTP POST на этот веб-адрес. Полученный результат будет отображаться в рамке Canvas на Facebook.
Мое приложение размещается на AWS S3 в качестве статического сайта с помощью следующей конфигурации CORS:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Уже у меня вопрос здесь. GET
запросы работают отлично, но POST
ИНГ http://my-bucket-name.s3-website-us-east-1.amazonaws.com пинками обратно:
<html>
<head>
<title>405 Method Not Allowed</title>
</head>
<body>
<h1>405 Method Not Allowed</h1>
<ul>
<li>Code: MethodNotAllowed</li>
<li>Message: The specified method is not allowed against this resource.</li>
<li>Method: POST</li>
<li>ResourceType: OBJECT</li>
<li>RequestId: 94159551A72424C7</li>
<li>HostId: +Lcz+XaAzL97Y47OZFvaTwqz4Z7r5koaJGHjZJBBMOTUHyThTfKbZG6IxJtYEbtsXWcb/bFxeI8=</li>
</ul>
<hr/>
</body>
</html>
Шаг 1:^Я думаю, что нужно, чтобы получить эту эту работу.
но ждать, есть еще
Facebook также требует безопасного URL. поэтому для этого я пошел в облачную.
Моя конфигурация выглядит следующим образом:
Так же, как при работе с S3 непосредственно, делая GET
запросы https://app-cloudfront-id.cloudfront.net/ работает как чемпион, размещая, ногами назад это:
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>MethodNotAllowed</Code>
<Message>The specified method is not allowed against this resource.</Message>
<Method>POST</Method>
<ResourceType>OBJECT</ResourceType>
<RequestId>657E87A80AFBB3B0</RequestId>
<HostId>SY2g4smvhr06kAAQYVMsYeQZ+pSKbIIvsh/OaPBiMADGt5UKut0sXSZkFsnFmcRXQ2PFBVgPK4M=</HostId>
</Error>
Просмотр приложения на facebook.com показывает:
ли я что-то отсутствует?
Это не проблема CORS. Facebook делает запрос POST вашему приложению, отправив скрытую форму, он не запрашивает ваш URL через AJAX. – CBroe
@CBroe Я почти уверен, что это проблема CORS. AWS отклоняет запросы POST, независимо от того, делаю ли я их через клиент REST или посетив страницу facebook (см. Скриншот, который я добавил, также извиняюсь за мой плагин XML, который выглядит странно на снимке экрана) – drewwyatt
_ «AWS отклоняет POST запрос "_ - и именно поэтому это не проблема CORS. (CORS будет работать только в том случае, если ваш браузер выполняет междоменные запросы через JS), и в этом случае _browser_ откажется выполнить запрос, если удаленная конечная точка не включена с поддержкой CORS. Однако у вас есть _server_ говорит: «POST? Я не знаю, что с этим делать». http://stackoverflow.com/a/32036032/1427878 – CBroe