मैं बिलिंग उपयोग और दरकार्ड विवरण लाने के लिए Azure REST API का उपयोग कर रहा हूं। का उपयोग करके टोकन प्राप्त करने के लिए AcquireToken() विधि, शुरुआत में मैंने केवल क्लाइंट आईडी का उपयोग किया जो तब लॉगिन विंडो में उपयोगकर्ता प्रमाण-पत्रों के लिए पूछता है।Azure बिलिंग उपयोग API 401 अनधिकृत
हालांकि, मैं गैर इंटरएक्टिव दृष्टिकोण रहा हूँ, इसलिए मैं ग्राहक साख जिसमें मैं ग्राहक आईडी और क्लाइंट सीक्रेट कुंजी पारित कर दिया करते थे।
लेकिन यह
जब मैं त्रुटि में गहराई से देखो, मैंने पाया कि यह त्रुटि
"पहुँच टोकन गलत दर्शकों या संसाधन से है" देता है "दूरस्थ सर्वर 401 अनधिकृत एक त्रुटि देता है" देता हैकृपया मुझे कोई समाधान दें जिसका उपयोग मैं बिना किसी उपयोगकर्ता इंटरैक्शन के एपीआई तक पहुंच सकता हूं।
अग्रिम में धन्यवाद।
{
string token = GetOAuthTokenFromAAD();
string requestURL = String.Format("{0}/{1}/{2}/{3}",
ConfigurationManager.AppSettings["ARMBillingServiceURL"],
"subscriptions",
ConfigurationManager.AppSettings["SubscriptionID"],
"providers/Microsoft.Commerce/RateCard?api-version=2015-06-01-preview&$filter=OfferDurableId eq 'MS-AZR-*****' and Currency eq 'INR' and Locale eq 'en-IN' and RegionInfo eq 'IN'");
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestURL);
request.Headers.Add(HttpRequestHeader.Authorization, "Bearer " + token);
request.ContentType = "application/json";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Console.WriteLine(String.Format("RateCard service response status: {0}", response.StatusDescription));
}
public static string GetOAuthTokenFromAAD()
{
AuthenticationContext authenticationContext = new AuthenticationContext(string.Format("{0}/{1}",ConfigurationManager.AppSettings["ADALServiceURL"], ConfigurationManager.AppSettings["TenantDomain"]));
AuthenticationResult result = null;
ClientCredential uc = new ClientCredential(Client_Id, Secret_Key);
try
{
result = authenticationContext.AcquireToken("https://management.core.windows.net/", uc);
}
return result.AccessToken;
}
//App Config File
<add key="ADALServiceURL" value="https://login.microsoftonline.com" />
<add key="ADALRedirectURL" value="http://*****-authentication.cloudapp.net" />
<add key="ARMBillingServiceURL" value="https://management.core.windows.net" />
<add key="TenantDomain" value="********.onmicrosoft.com" />
<add key="SubscriptionID" value="*******-****-****-****-********" />
<add key="ClientId" value="*******-****-****-****-********" />
अपने कोड और भी आप Azure AD में बनाए गए आवेदन के लिए सेटिंग्स साझा करें। –
पोस्ट में जोड़ा गया। – Tejas
एक त्वरित प्रश्न - क्या आपने Azure AD में एप्लिकेशन को कॉन्फ़िगर करते समय सेवा प्रबंधन API संचालन निष्पादित करने की अनुमति दी है? –