我試着在完成C/Curl之前,在PHP/Curl中關注Google的Youtube API。這是我的代碼。什麼是請求的授權令牌? 「Youtube API」
<?php
$resource = "www.googleapis.com/upload/youtube/v3/videos?uploadType=resumable&part=snippet,status,contentDetails";
$query = '{
"snippet": {
"title": "My video title",
"description": "This is a description of my video",
"tags": ["cool", "video", "more keywords"],
"categoryId": 22
},
"status": {
"privacyStatus": "public",
"embeddable": True,
"license": "youtube"
}
}';
$response = NULL;
# Initialize PHP/CURL handle
$ch = curl_init();
$request_headers = array();
$request_headers[] = 'Authorization: Bearer *****';
$request_headers[] = 'Content-Length: 278';
$request_headers[] = 'Content-Type: application/json; charset=UTF-8';
$request_headers[] = 'X-Upload-Content-Length: 3000000';
$request_headers[] = 'X-Upload-Content-Type: video/*';
curl_setopt($ch, CURLOPT_HTTPHEADER , $request_headers );
curl_setopt($ch, CURLOPT_POSTFIELDS , $query );
curl_setopt($ch, CURLOPT_POST , TRUE );
curl_setopt($ch, CURLOPT_HTTPGET , FALSE );
curl_setopt($ch, CURLOPT_HEADER , FALSE ); // Include head as needed
curl_setopt($ch, CURLOPT_NOBODY , FALSE ); // Return body
curl_setopt($ch, CURLOPT_URL , $resource ); // Target site
curl_setopt($ch, CURLOPT_VERBOSE , TRUE ); // Minimize logs
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , FALSE ); // No certificate
curl_setopt($ch, CURLOPT_FOLLOWLOCATION , TRUE ); // Follow redirects
curl_setopt($ch, CURLOPT_RETURNTRANSFER , TRUE ); // Return in string
# Create return array
$response = curl_exec($ch);
$info = curl_getinfo($ch);
$error = curl_error($ch);
# Close PHP/CURL handle
curl_close($ch);
return $response;
?>
每當我運行腳本,我得到一個403 Forbidden錯誤。我認爲問題來自授權令牌。我想我沒有用我應該做的。谷歌表示,
「的要求設置下列HTTP請求頭:
- 授權 - 授權令牌的請求。」
我不知道它到底是什麼,所以我用的Youtube PHP客戶端API,但仍然沒有產生一個訪問令牌。
看來你剛纔發佈的API認證證書的公共論壇,你會想改變/立即撤銷他們。 –
@AlexHowansky謝謝,已經改變!我以爲這隻會持續一個小時 –
你和403一起得到什麼? –