4

これが簡単なものであることを願っています...ファイルをフォルダーに直接アップロードしたい。フォルダーIDを取得し、ルートにファイルを完全にアップロードする次のコードを持っています:

<?php
require_once 'get_access.php'; 

require_once 'google-api-php-client/src/Google_Client.php';
require_once 'google-api-php-client/src/contrib/Google_DriveService.php';

$folder_id = '<folder id>';

$client = new Google_Client();
$client->setClientId('<client_id>');
$client->setClientSecret('<client_secret>');
$client->setRedirectUri('<url>');
$client->setScopes(array('<scope>'));
$client->setAccessToken($access);
$client->setAccessType('offline');
$client->refreshToken($refreshToken);
$service = new Google_DriveService($client);

//Insert a file
$file = new Google_DriveFile();
$file->setTitle('My document 123');
$file->setDescription('A test document');
$file->setMimeType('text/plain');

$data = file_get_contents('document-2.txt');

$createdFile = $service->files->insert($file, array(
      'data' => $data,
      'mimeType' => 'text/plain',
    ));

echo '<pre>';
var_dump($createdFile);
echo '</pre>';

?>

このファイルをユーザーのドライブの特定のフォルダにアップロードするには、ここで何をすればよいですか?

ありがとう

4

4 に答える 4

6

答えてくれてありがとう。はい、それが解決策でした。以前 API で見つけたのですが、うまくいきませんでした。

重要なのは、Google がクラス名を変更したが、ドキュメントを更新しなかったことです。ParentReference クラスは現在Google_ParentReference()

Google ドライブに関する他のドキュメントにも同様の問題があります。したがって、これの作業コードは次のとおりです。

$parent = new Google_ParentReference();
$parent->setId($parentId);
$file->setParents(array($parent));
于 2013-02-06T14:15:01.973 に答える
1

ターゲット フォルダの ID が含まれていると仮定すると$parentId、挿入リクエストの前に次のコードを追加する必要があります。

$parent = new ParentReference();
$parent->setId($parentId);
$file->setParents(array($parent));

詳細については、files.insertリファレンス ガイドを確認してください。

https://developers.google.com/drive/v2/reference/files/insert

于 2013-01-28T22:29:58.583 に答える