C# 如何从Orange消息Api获取AccessToken

C# 如何从Orange消息Api获取AccessToken,c#,orange-api,C#,Orange Api,我需要知道如何从Orange Message Api获取访问令牌。我写了一个函数,应该这样做,但它似乎包含一个错误。它返回一个异常 [远程服务器返回错误请求errro 400]。我不知道出了什么问题 class MessageApi { public void GetAccessToken() { string AuthHeader = "My Authorization header"; HttpWebRequest requeust =

我需要知道如何从Orange Message Api获取访问令牌。我写了一个函数,应该这样做,但它似乎包含一个错误。它返回一个异常 [远程服务器返回错误请求errro 400]。我不知道出了什么问题

 class MessageApi
{

    public  void GetAccessToken()
    {
        string AuthHeader = "My Authorization header";
        HttpWebRequest requeust = (HttpWebRequest)WebRequest.Create("https://api.orange.com/oauth/v2/token");
        requeust.ContentType = "application/json";
        requeust.Method = "POST";
        JsonObject JsonData = new JsonObject();
        JsonData["authorization"] = AuthHeader;
        JsonData["grant_type"] = "client_credentials";

        using (var streamWriter = new StreamWriter(requeust.GetRequestStream()))
        {

            streamWriter.Write(JsonData);

        }
        var httpResponse = (HttpWebResponse)requeust.GetResponse();
        using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
        {
            var result = streamReader.ReadToEnd();
        }

    }
}

授权标头应位于请求标头中

而不是做

JsonData["authorization"] = AuthHeader;
试一试


首先执行此操作: client_id和client_secret用于指定authorization_头。 它的值由关键字“Basic”组成,后跟一个空格和base64编码,将您的client_id“:”和client_secret串联在一起

您需要在此网站中转换base64中的客户端id:client\u secret:

示例

客户id=djdv6+4fb64b+6fd+6b

客户_secret=3464ggb646

concated=djdv6+4fb64b+6fd+6b:3464ggb646

djdv6+4fb64b+6fd+6b:3464ggb646==d64b6b464b6g4bg65465gn6n==

执行此操作后:

curl -X POST -H "Authorization: Basic myBase64Encode" -d "grant_type=client_credentials" https://api.orange.com/oauth/v2/token

将myBase64Encode替换为在base 64中转换的连接clientId和clientSecret==>D64B6B6B6G4BG65465GN6N==

它仍然抛出相同的异常使用类似curl的方法是否可以得到答案?同时添加
streamWriter.Flush()
streamWriter.Close()在streamWriter.Write(JsonData)行之后添加.flush(),.close()方法时也是这样。我将尝试使用curl得到答案。
curl -X POST -H "Authorization: Basic myBase64Encode" -d "grant_type=client_credentials" https://api.orange.com/oauth/v2/token