1

我使用此命令拨打电话。我在 amazon s3 中托管了 xml 并将其公开。电话说:“对不起,发生了应用程序错误。请帮助

curl -XPOST https://api.twilio.com/2010-04-01/Accounts/kjfwbkjfejbfgeirbgiregribg/Calls.json -d "Url=http://read-voice.xyz.s3-website-us-east-1.amazonaws.com/voice.xml" -d "To=%2B1234567812" -d "From=%2B1234567812" -u 'ssllsdnf wfwefklwefwefwef:wjfdbewfergergerg'

这是 XML

<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say voice="alice">Thanks for trying our documentation. Enjoy!</Say>
</Response>

这是调试器中的错误

<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: xyxafsgjsk</Li>
        <Li>HostId: xyzt8=</Li>
    </Ul>
    <Hr/>
</Body>

4

1 回答 1

3

您可以使用浏览器检查 S3 提供的内容。

您需要确保 S3 为您的 xml 提供服务"content-type""text/xml"并且<?xml version="1.0" encoding="UTF-8"?>确实位于响应的第一行。

还要检查 Twilio 调用日志以进行分步调试,您应该会看到有关导致错误的错误 http 请求的更多信息,包括 S3 的响应标头和内容类型。

出于测试目的,您也可以使用TwiML Bins,您可以在“工具”>“开发者中心”下的左侧菜单中找到它们。使用您的 xml 在那里创建一个 bin,您将获得一个可以使用的 url,而不是您的 S3 url。

TwiML Bins 不需要<?xml version="1.0" encoding="UTF-8"?>放在第一行,只需将 xml 放在那里。

于 2016-06-02T01:44:24.040 回答