簡體   English   中英

無法使用PHP從Azure媒體服務REST API獲取訪問令牌

[英]Unable to get access token from azure media services REST API using PHP

我在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);

我無法獲取令牌代碼。 請誰能檢查出什么問題了?

可能有幾個問題:

  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. 如果有錯誤,首先要確定的是您是否具有更新的CA證書列表

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM