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