簡介
對於大多數Brightcove API而言,獲取訪問令牌是一項至關重要的操作,因為其中大多數使用訪問令牌對請求進行身份驗證。
有關訪問令牌的完整說明,請參閱Brightcove OAuth 服務的工作原理和獲取訪問令牌 .
此示例向您展示如何從Web應用程序獲取訪問令牌。由於OAuth API未啟用CORS,並且必須從服務器端發出請求,因此該應用會將信息發送到代理,代理隨後會發出api請求並將響應發送回客戶端。這裡的代理是用 PHP 編寫的,但任何服務器端語言都可以-您只需要能夠通過互聯網向應用程序發送 POST 請求。
取得認證
得到一個client_id
和client_secret
,您需要轉到 OAuth UI 並註冊此應用程序:
這些選擇您將要使用的API所需的權限:
您也可以通過 CURL 或郵遞員獲取憑據-請參閱:
如果您直接從 OAuth API 獲取憑據,請參閱客戶端憑證請求的 API 操作獲取不同 API 操作所需的權限。
獲取訪問令牌應用
原始碼
在此找到與此示例相關的所有代碼GitHub 倉庫 .
範例應用程式
看筆OAuth API 示例:獲取訪問令牌通過 Brightcove 學習服務( @rcrooks1969) 在代碼筆 .
使用編碼器
以下是一些有效使用上述 CodePen 的提示:
- 按一下「結果」按鈕,切換播放器的實際顯示。
- 點擊HTML/CSS/JS按鈕顯示其中一種代碼類型。
- 點擊在 CodePen 上編輯在右上角將此 CodePen 分叉到您自己的帳戶中。
- 在此找到與此示例相關的所有代碼GitHub 倉庫 .
代理代理代碼
為了建立您自己的版本此頁面上的範例應用程式,您必須建立並裝載您自己的 Proxy。(布萊特灣學習服務所使用的代理只接受來自布萊特灣域的請求。)沒有原始限制的代理代碼版本如下所示。
<?php
/**
* access-token-proxy.php-Brightcove RESTful API的代理
*獲取訪問令牌並返回
* 存取:
*(請注意,您應該 * 總是 * 通過 HTTPS 訪問代理)
* 方法:開機自檢
*
* @post {string} client_id-具有足夠許可權的OAuth2客戶端ID
* @post {string} client_secret-OAuth2客戶機密,具有足夠的請求權限
*
* @returns {字符串} $ 響應-從 OAuth API 接收到的 JSON 響應
*/
//CORS 啟用和其他標題
header(“ Access-Control-Allow-Origin:*”);
頭(「內容類型:應用程序 /json」);
頭(「X 內容類型-選項:nosniff」);
標頭(「XXSS-保護」);
//請注意,如果您將此代理用於單個憑證
//您只需在下面硬編碼客戶端ID和密碼,而不用傳遞它們
$ client_id = $ _POST [“ client_id”];
$ client_secret = $ _POST [“ client_secret”];
$ 驗證字符串 =「{$ 客戶端}:{$ 客戶端 _ 秘密}」;
請求 = "https://oauth.brightcove.com/v4/access_token?grant_type=client_credentials「;
$ 查詢 = 初始化($ 請求);
curl_setopt_array($ ch,array(
CURLOPT_POST => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_SSL_VERIFYPEER =>否,
CURLOPT_USERPWD => $ auth_string,
CURLOPT_HTTPHEADER =>數組(
'內容類型:應用程序 /x-www 形式的 URL 代碼',
)
);
$ 響應 = 捲曲($ 查詢);
curl_close($ ch);
//檢查錯誤
if($ response === FALSE){
die(curl_error($ ch));
回顯“發生錯誤”;
}其他{
echo $ response;
}
?>