php - 无法使用 PHP 从 azure 媒体服务 REST API 获取访问 token

标签 php rest azure azure-media-services

我在 php 中有以下代码:

define("TOKEN_URL", "https://wamsprodglobal001acs.accesscontrol.windows.net/v2/OAuth2-13");



 $arrData = array(
                'grant_type=client_credentials',
                'client_id='.CLIENT_ID,
                'client_secret='.urlencode(ACCESS_KEY),
                'scope=urn%3aWindowsAzureMediaServices'
            );


            $arrHeader = array(
                'Content-length:'.strlen($this->generateData($arrData))
            );

            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, TOKEN_URL);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $this->generateData($arrData));
            curl_setopt($ch, CURLOPT_HTTPHEADER, $arrHeader);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            $data = curl_exec($ch);
            curl_close($ch);
            $arrToken = json_decode($data);

我无法获取 token 代码。请问谁能检查一下可能出了什么问题吗?

最佳答案

可能存在一些问题:

  1. 您可以简化一些事情并使用http_build_query():

    $data = http_build_query(array(
        'grant_type' => 'client_credentials',
        'client_id' => CLIENT_ID,
        'client_secret' => ACCESS_KEY,
        'scope' => 'urn:WindowsAzureMediaServices',
    ));
    $ch = curl_init(TOKEN_URL);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    if (($res = curl_exec($ch)) === false) {
        die(curl_error($ch));
    }
    $arrToken = json_decode($res);
    
  2. 如果出现错误,首先要确保您是否有 updated list of CA certificates .

关于php - 无法使用 PHP 从 azure 媒体服务 REST API 获取访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14957232/

相关文章:

php - 使用准备好的语句从带有限制标记的数据库中进行选择

php - 将 file_get_contents 用于 google api 时的警告

django - 如何使 Django REST JWT 身份验证扩展到多个 Web 服务器?

sql-server - 使用 ADF Pipeline 中的自定义事件从 OnPrem SQL Server 复制到 DocumentDB

asp.net-mvc - 使用 Devbridge 的 AzurePowerTools 对 Azure 进行 HTTP 身份验证

php - 无法从php中的数据库获取数据

javascript - 如何将 PHP MySQL 与 NodeJS 和 SocketIO 结合使用

java - Java 中逐步更新对象的替代选项

javascript - WordPress REST API - 允许任何人发布

azure - ARM模板: Way to workaround for nested copy in variable section