yuudrive/drive-sdk

Google Drive 共享 SDK

v0.0.2 2019-12-28 17:01 UTC

This package is auto-updated.

Last update: 2024-09-29 03:20:46 UTC


README

Google Drive 共享客户端 SDK

Version LICENSE Packagist

安装

composer require yuudrive/drive-sdk

快速开始

初始化

// include your composer dependencies
require_once 'vendor/autoload.php';

use YuuDrive\DriveSDK\Client;

$client_id = "YOUR_CLIENT_ID_HERE";
$client_secret = "YOUR_SECRET_KEY_HERE";
$developer_key = "YOUR_DEV_KEY_HERE";
$redirect_uri = 'http://example.com/callback';

$client = new Client($client_id, $client_secret, $developer_key, $redirect_uri);

OAuth

生成 OAuth URI

$authURI = $client->authURI();

从 OAuth 码获取访问令牌

$fetchToken = $client->fetchAccessTokenWithAuthCode($code)->getResponse();

print_r($fetchToken->data); // return raw response
echo $fetchToken->getAccessToken() // return access_token attribute
echo $fetchToken->getRefreshToken() // return refresh_token attribute

从刷新码获取访问令牌

$fetchToken = $client->fetchAccessTokenWithRefreshToken($refresh_token)->getResponse();

print_r($fetchToken->data); // return raw response
echo $fetchToken->getAccessToken() // return access_token attribute
echo $fetchToken->getRefreshToken() // return refresh_token attribute

撤销访问令牌

$client->revokeAccessToken($access_token);

账户

获取配置文件信息

// passing access token parameter
$client->profile($access_token);

// OR

$client->setAccessToken($access_token);
$profile = $client->profile()->getResponse();

// attributes:
$profile->getId(); // get User id
$profile->getEmail(); // user email
$profile->getName(); // name
$profile->getPicture(); // profile picture

文件

获取文件信息

$client->setAccessToken($access_token);
$file = $client->getFile($file_id)->getResponse();

//attributes:
$file->getId(); // file id
$file->getName(); // file name
$file->getSize(); // file size
$file->getExtention(); // file extention
$file->getChecksum(); // file checksum

获取文件列表

$client->setAccessToken($access_token);
$files = $client->getFiles()->getResponse();

// only return the file list
$files->showFileOnly();

// only return the folder list
$files->showFolderOnly();

文件夹

创建文件夹

$client->setAccessToken($access_token);
$create_folder = $client->folder($folder_name)->setRole('reader')->setPermissionType('anyone');

// to set folder color
->colorRgb($rgb_code);

// to set folder starred
->starred(true);

//execute instance
$create_folder = $create_folder->create()->getResponse();

print_r($create_folder->data); // to return object response

权限角色列表 此权限授予的角色。虽然未来可能会支持新值,但以下是目前允许的

  • owner
  • organizer
  • fileOrganizer
  • commenter
  • reader

权限类型列表 受让人类型。有效值包括

  • user
  • group
  • domain
  • anyone

测试