我需要來自我的訂閱ID和身份驗證令牌的Azure存儲列表。 我做的代碼按基準-`如何通過c#獲取Azure列表存儲?
https://msdn.microsoft.com/en-us/library/azure/ee460787.aspx?f=255&MSPPError=-2147217396
但我不能夠得到的數據和響應,我只得到代碼401 Unauthorized access
我已經試過代碼C#按如下 -
獲取授權令牌 -
private static string GetAuthorizationToken()
{
ClientCredential cc = new ClientCredential(ClientId, ServicePrincipalPassword);
var context = new AuthenticationContext("https://login.windows.net/" + AzureTenantId);
var result = context.AcquireTokenAsync("https://management.azure.com/", cc);
if (result == null)
{
throw new InvalidOperationException("Failed to obtain the JWT token");
}
return result.Result.AccessToken;
}
然後
AuthToken = GetAuthorizationToken();
TokenCredentials = new TokenCredentials(AuthToken);
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("https://management.core.windows.net/<My Subscription ID>/services/storageservices");
request.Headers.Add(HttpRequestHeader.Authorization, "Bearer " + AuthToken);
request.ContentType = "application/json";
request.Method = "GET";
//request.Headers["Authorization"] = "Bearer " + AuthToken; // Also tried this
request.Headers["x-ms-version"] = "2016-05-31";//
//https://management.core.windows.net/<subscription-id>/services/storageservices
//header - "x-ms-version"
HttpWebResponse response = null;
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch (WebException ex)
{
//ex.Message;
}
請提出解決方案,從認購ID和身份驗證令牌獲得存儲帳戶列表。如果你有其他更好的解決方案,那麼這個獲取存儲列表,然後也請建議。
請嘗試更改以下代碼行:var result = context.AcquireTokenAsync(「https://management.azure.com/」,cc);'to'var result = context.AcquireTokenAsync(「https:// management.core.windows.net/「,cc);'。 –
@GauravMantri我按照你的建議綁定,但它在認證中給出錯誤 - 在mscorlib.dll中發生類型'System.AggregateException'的異常,但未在用戶代碼中處理 – Shirish