我尝试使用操场发送 AMP 电子邮件。AMP 电子邮件本身工作正常,在 localhost 上测试并在 Azure 环境中运行。在 Node/TypeScript 中构建。即使在 AMP 游乐场中,它也会运行,并带有以下 CORS 标头:
res.set('Access-Control-Allow-Origin', 'https://amp.gmail.dev');
res.set('AMP-Access-Control-Allow-Source-Origin', 'amp@gmail.dev');
res.set('Access-Control-Expose-Headers', 'AMP-Access-Control-Allow-Source-Origin');
一旦我从表单发送“GET”请求,它就不会显示任何内容。我将在 Chrome 的网络选项卡中收到的错误:
HTTP/1.1 400 Bad Request
Vary: Origin
Vary: X-Origin
Vary: Referer
Content-Type: application/json+protobuf; charset=UTF-8
{"1":9,"2":"Access-Control-Allow-Origin header value must be one of the acceptable values."}
--batch_eLkTuK4rnSAoy6L5ZSMGCkUK8R4_Ih_c--
我已经尝试过:在 Gmail 的开发人员设置中允许 AMP 电子邮件 > 确定(我确实看到了电子邮件,但在提交表单后它会在网络选项卡中向我抛出错误)
将“Access-Control-Allow-Origin”更改为“ https://mail.google.com ”> 好的,这看起来给了我想要的 JSON。400 bad request 的错误消失了,它显示:
HTTP/1.1 200 OK
Content-Type: application/json+protobuf; charset=UTF-8
Vary: Origin
Vary: X-Origin
Vary: Referer
{"3":{"1":3},"4":"{\"body\":\"{\\\"items\\\":[{\\\"cards\\\":[ the content I want.
但是电子邮件本身不会加载任何内容?需要明确的是,该错误从未出现在电子邮件本身中。就在 Chrome 的网络选项卡中。
编辑:在 gmail 中提交表单后,控制台会给我以下错误:
[amp-form] Form submission failed: Error: Request viewerRenderTemplate failed
Server side html response must be defined
Uncaught (in promise) Error: Server side html response must be defined