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;
}
結果是: { 「消息」:[], 「錯誤」: 「無效或缺少集成的API密鑰 - 」}的Clickate:無效或缺少集成的API密鑰
但是我的API密鑰完全按照Clickatell的定義。
附加信息: Clickatell網站顯示以下Json捲曲調用(注意:爲了測試,我無法使用捲曲工作)。
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密鑰問題。 – kraeg