C# 使用 REST API 连接到 Azure 媒体服务帐户

Posted

技术标签:

【中文标题】C# 使用 REST API 连接到 Azure 媒体服务帐户【英文标题】:C# Connecting to Azure Media Services Account using REST API 【发布时间】:2016-08-26 22:04:16 【问题描述】:

我正在尝试按照此文档https://azure.microsoft.com/en-us/documentation/articles/media-services-rest-connect-programmatically/获取访问令牌

我的代码现在看起来像这样:

 string requestUrl = String.Format("https://MyAccessControlNamespace.accesscontrol.windows.net/v2/OAuth2-13");
 string bodyURL = string.Format("grant_type=client_credentials&client_id=MyMediaServicesAccountName&client_secret=MyAccountKeyEncodedToUrl&scope=urn%3aWindowsAzureMediaServices");

 var request = (HttpWebRequest)WebRequest.Create(requestUrl);
 request.Method = "POST";
 request.ContentType = "application/x-www-form-urlencoded";
 request.Accept = "application/json";

 byte[] requestBodyBytes = new ASCIIEncoding().GetBytes(bodyURL);
 Stream requestStream = await request.GetRequestStreamAsync();
 requestStream.Write(requestBodyBytes, 0, requestBodyBytes.Length);

 var response = (HttpWebResponse) await request.GetResponseAsync();

我也尝试过使用 HttpClient。但我总是收到 400 Bad Request 错误...

我将非常感谢任何帮助/提示!

【问题讨论】:

你能得到一个提琴手请求吗?由于某种原因,它看起来格式不正确 可能有帮助 - Azure 媒体服务错误代码msdn.microsoft.com/en-us/library/azure/dn168949.aspx 非常感谢您的提示! Fiddler 显示“错误:invalid_client”,所以我想我没有在 Active Directory 中进行正确的设置或其他什么。无论如何,我决定使用 Media Services .NET SDK 创建 Web API 应用程序,因为我被这个卡住了。 【参考方案1】:

媒体服务访问控制地址是https://wamsprodglobal001acs.accesscontrol.windows.net/。它不是 AD 的访问控制命名空间。

更改为:string requestUrl = String.Format("https://wamsprodglobal001acs.accesscontrol.windows.net/v2/OAuth2-13");

确保您的媒体帐户密钥已编码。

【讨论】:

以上是关于C# 使用 REST API 连接到 Azure 媒体服务帐户的主要内容,如果未能解决你的问题,请参考以下文章

Azure Mysql HTTP REST API 。获取 JSON 网络令牌

Azure 数据工厂 - 尝试将参数添加到 REST API 请求正文中的动态内容

C# MVC Web 应用服务连接到 Azure 存储 Blob

Azure C# 应用服务 ODBC 连接到 Redshift

SonarQube 无法使用 REST API 连接到 JIRA 7

使用 TLS 1.2 从 HttpClient 连接到 Azure FrontDoor 后面的 API