我正在 php 中实现云存储 api,用于上传 mp3 文件并将其加载到站点中。我想在未经授权的情况下上传文件对话框可以吗?有没有没有 oauth2 的样本?
问问题
376 次
1 回答
2
进入云存储的所有内容都需要身份验证密钥。您可以设置服务帐户获取不记名密钥而无需用户登录。我修改了来自 google-api-php-client 的一些代码。提供不记名密钥。使用以下。
函数 getMediaKey(){
/************************************************
Make an API request authenticated with a service
account.
************************************************/
set_include_path("../google-api-php-client/src/" . PATH_SEPARATOR . get_include_path());
require_once 'Google/Client.php';
$client_id = '<your clientid>';
$service_account_name = '<serviceaccountemail';
$key_file_location = '< location of you privatekey.p12>';
//echo pageHeader("Service Account Access");
if ($client_id == '<YOUR_CLIENT_ID>'
|| !strlen($service_account_name)
|| !strlen($key_file_location)) {
echo missingServiceAccountDetailsWarning();
}
$client = new Google_Client();
$key = file_get_contents($key_file_location);
$cred = new Google_Auth_AssertionCredentials(
$service_account_name,
array('https://www.googleapis.com/auth/devstorage.full_control'),
$key
);
$client->setAssertionCredentials($cred);
if($client->getAuth()->isAccessTokenExpired()) {
$client->getAuth()->refreshTokenWithAssertion($cred);
}
$bearerKey = $client->getAccessToken();
return $bearerKey;
}
然后,您可以使用不记名密钥发布您的媒体文件。
结帐https://developers.google.com/storage/docs/json_api/
试试看例子
于 2014-05-30T20:21:20.367 回答