【发布时间】:2016-11-22 08:02:40
【问题描述】:
using (var httpClient = new HttpClient())
{
httpClient.BaseAddress = new Uri("https://platform.clickatell.com/");
httpClient.DefaultRequestHeaders.Accept.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "wyOtm7-eRq-dSHWORr6hfw==");
var stringContent = new StringContent("{\"content\":\"Test Message\",\"to\":[\"61400000000\"]}");
stringContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
var httpResponseMessage = AsyncHelper.RunSync(() => httpClient.PostAsync("messages", stringContent));
var result = httpResponseMessage.Content.ReadAsStringAsync().Result;
}
结果是: {"messages":[],"error":"集成 API 密钥无效或缺失。-"}
但我的 API Key 与 Clickatell 定义的完全一样。
附加信息: Clickatell 站点显示以下 Json curl 调用(注意:我无法让 curl 工作以对其进行测试)。
CURL CALL:
==========
curl -i \
-X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: wyOtm7-eRq-dSHWORr6hfw==" \
-d '{"content": "Test Message Text", "to": ["61400000000"], "from": "+1234567890"}' \
-s https://platform.clickatell.com/messages
唯一的区别是我将我的令牌指定为不记名令牌。没有它,我会收到格式异常。
感谢任何能够阐明我的问题的人。
【问题讨论】:
-
另一件有趣的事情...... API 以 Accepted (202) 响应,即使它显然对我的 API 密钥存在问题。
标签: clickatell