3

Googleの最新バージョンのPHPAPI(0.60)を使用すると、関数の最後で「print_r($ createdFile)」を使用すると「webViewLink」フィールドが空/ nullになることを除いて、Google開発者ページのコードサンプルが機能するようです。

私のGoogleAppsドメインのdrive.google.comサイトには、パブリック権限で正常に作成された新しいフォルダが表示されます。

何か案は?

4

4 に答える 4

3

「数年」後のサービスアカウントのサンプルを次に示します。G Suiteアカウントを持っており、https://admin.google.com/example.com/AdminHome?chromeless = 1#OGX:ManageOauthClientsでAPIクライアントをAPIスコープhttps://www.googleapis.com/に設定しました。 auth/driveそして次に

include_once __DIR__ . '/../vendor/autoload.php';
$client = new Google_Client();
$client->setAuthConfig('my_auth.json');
$client->addScope('https://www.googleapis.com/auth/drive');
$client->setSubject('admin.example.com');
$service = new Google_Service_Drive($client);
$x = $service->files->listFiles([
  'spaces' => 'drive', // this doesn't seem necessary
  'q' => 'name = "download"',
  'fields' => 'files(id, name, webViewLink, webContentLink)',
]);

fields引数に注意を払ってください:それは何も取得しませidが、nameそれを省略した場合。

于 2017-05-29T07:34:32.677 に答える
1

パブリックフォルダを一覧表示する小さなJavaScriptアプリを作成しました。フォルダがリストに表示されていることを確認できますか?表示されていない場合は、公開されていないため、webViewLinkはありません。

https://googledrive.com/host/0B0YvUuHHn3Mna3Rzb19tLTYyOXc/

ページはGoogleドライブ自体でホストされているため、Googleドライブによって提供され、Googleドライブにアクセスします。質問する人は誰でも、いいえ、宇宙は崩壊しませんでした:-)

于 2012-12-03T15:55:20.063 に答える
0

回避策として、フォルダIDがある場合は、https://googledrive.com/host/FOLDER_ID_HEREを使用できます。

于 2012-12-02T06:33:43.603 に答える
0

WebViewLinkファイルのプロパティは、次のようにして取得できます。

$file = $service->files->get($file_id, array('fields' => 'webViewLink'));
$web_link_view = $file->getWebViewLink();

また

$sheetsList = $drive_service->files->listFiles([
  'fields' => 'files(id, name, webViewLink, webContentLink)',
]);

$web_link_view = $sheetsList->current()->getWebViewLink();

@chxが述べたように、ファイルをロードする必要があります。この場合、ファイルに含めるフィールドを指定しますwebViewLink。そうしないと、とだけidname利用可能になります。

ファイルのアクセス許可も構成する必要がある場合は、次のようにすることができます。

$permissions = new \Google_Service_Drive_Permission();
$permissions->setRole('writer');
$permissions->setType('anyone');

$drive_service->permissions->create($file_id, $permissions);

の可能な値setRole()setType()はここで見つけることができます:https ://developers.google.com/drive/api/v3/reference/permissions/create

于 2020-08-07T14:59:10.373 に答える