Mailgun POST /messages API 总是抛出 401 forbidden
Mailgun POST /messages API always throw 401 forbidden
我正在尝试使用改装库在 Android 中发送 Mailgun POST /messages API 请求。
改造要求如下:
HTTP POST https://api:key-xxx/v3/sandboxxxx/messages
缓存控制:无缓存
内容类型:application/x-www-form-urlencoded
内容长度:148
from=Excited+User+%3Cmailgun%40sandboxxxxmailgun.org%3E&to=vir.jain%40gmail.com&subject=Hello&text=Testing+awesomeness
回应:
HTTP 401 https://api:key-xxx/v3/sandboxxxx.mailgun.org/messages(1966 毫秒)
服务器:nginx/1.7.9
日期:2015 年 6 月 15 日星期一 10:00:37 GMT
内容类型:text/html;字符集=utf-8
内容长度:9
连接:保持活动状态
WWW-验证:基本领域="MG API"
OkHttp-选定协议:http/1.1
OkHttp-Sent-Millis:1434362440805
OkHttp-Received-Millis:1434362441086
禁止
当我在 Postman 上尝试同样的请求时,它工作正常并且电子邮件发送正确。但是当使用 Android 中的改造库发送时因 Forbidden 而失败。
我的改造API:
@FormUrlEncoded
@POST("/消息")
public void sendEmail(@Field("from") String from, @Field("to") String to, @Field("subject") String subject, @Field("text") 字符串文本, RestCallback objectRestCallback);
基础 URL 是:
https://api:key-xxx/v3/sandboxxxsandboxxxx.mailgun.org
一切都是 URL 编码的形式。但我真的不确定出了什么问题。
谁能帮我解决上面的问题 API?
谢谢,
马哈维亚
我在请求中添加了以下授权 header 和 API 密钥的 Base64 编码字符串,它开始工作了。
request.addHeader("Authorization", "Basic "+getBase64String("api:key-xxxYOUR-API-KEY>"));
@Selvin:非常感谢您发送 wiki link :)。
您需要指定您的 mailgun 区域:mg.SetAPIBase(mailgun.APIBaseEU)
// Create an instance of the Mailgun Client
mg := mailgun.NewMailgun(yourDomain, privateAPIKey)
mg.SetAPIBase(mailgun.APIBaseEU)
我正在尝试使用改装库在 Android 中发送 Mailgun POST /messages API 请求。
改造要求如下:
HTTP POST https://api:key-xxx/v3/sandboxxxx/messages
缓存控制:无缓存
内容类型:application/x-www-form-urlencoded
内容长度:148
from=Excited+User+%3Cmailgun%40sandboxxxxmailgun.org%3E&to=vir.jain%40gmail.com&subject=Hello&text=Testing+awesomeness
回应:
HTTP 401 https://api:key-xxx/v3/sandboxxxx.mailgun.org/messages(1966 毫秒)
服务器:nginx/1.7.9
日期:2015 年 6 月 15 日星期一 10:00:37 GMT
内容类型:text/html;字符集=utf-8
内容长度:9
连接:保持活动状态
WWW-验证:基本领域="MG API"
OkHttp-选定协议:http/1.1
OkHttp-Sent-Millis:1434362440805
OkHttp-Received-Millis:1434362441086
禁止
当我在 Postman 上尝试同样的请求时,它工作正常并且电子邮件发送正确。但是当使用 Android 中的改造库发送时因 Forbidden 而失败。
我的改造API: @FormUrlEncoded @POST("/消息") public void sendEmail(@Field("from") String from, @Field("to") String to, @Field("subject") String subject, @Field("text") 字符串文本, RestCallback objectRestCallback);
基础 URL 是: https://api:key-xxx/v3/sandboxxxsandboxxxx.mailgun.org
一切都是 URL 编码的形式。但我真的不确定出了什么问题。 谁能帮我解决上面的问题 API?
谢谢, 马哈维亚
我在请求中添加了以下授权 header 和 API 密钥的 Base64 编码字符串,它开始工作了。
request.addHeader("Authorization", "Basic "+getBase64String("api:key-xxxYOUR-API-KEY>"));
@Selvin:非常感谢您发送 wiki link :)。
您需要指定您的 mailgun 区域:mg.SetAPIBase(mailgun.APIBaseEU)
// Create an instance of the Mailgun Client
mg := mailgun.NewMailgun(yourDomain, privateAPIKey)
mg.SetAPIBase(mailgun.APIBaseEU)