首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C# 獲取環信 App 管理員 Token:REST API 呼叫範例

     編輯:程式設計綜合問答

需求

使用 C# 呼叫環信 REST API 獲取 App 管理員 Token,官方文檔提供 cURL 範例,需轉為 C# 程式碼。

API 規格

  • Path:`/{org_name}/{app_name}/token`
  • Method:POST
  • Headers:`Content-Type: application/json`
  • Body:`{"grant_type":"client_credentials","client_id":"{YOUR_CLIENT_ID}","client_secret":"{YOUR_CLIENT_SECRET}"}`
  • Response:`access_token`、`expires_in` (秒)、`application` (UUID)

C# 實作範例

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;

public class EasemobToken
{
    public string access_token { get; set; }
    public int expires_in { get; set; }
    public string application { get; set; }
}

public async Task GetTokenAsync(string org, string app, string clientId, string clientSecret)
{
    using (var http = new HttpClient())
    {
        var url = $"https://a1.easemob.com/{org}/{app}/token";
        var body = new { grant_type = "client_credentials", client_id = clientId, client_secret = clientSecret };
        var json = JsonConvert.SerializeObject(body);
        var content = new StringContent(json, Encoding.UTF8, "application/json");
        var resp = await http.PostAsync(url, content);
        resp.EnsureSuccessStatusCode();
        var resultJson = await resp.Content.ReadAsStringAsync();
        return JsonConvert.DeserializeObject(resultJson);
    }
}

注意事項

  • Token 有效期預設 7 天(`expires_in=5184000`),請快取重用,頻繁請求會導致帳號被封。
  • 400/5xx 錯誤通常為 URL 拼接錯誤、Client ID/Secret 錯誤或服務未啟用。
  • 正式環境請使用 HTTPS 並妥善保管 Secret。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved