Google ドライブ API を使用して簡単な Web アプリ (PHP) を学習しようとしています。
- ドライブ内のファイルのリストを表示します。
- ドライブに新しいファイルを追加します。
次のようにコードします。
<?php
session_start();
$url_array = explode('?', 'http://'.$_SERVER ['HTTP_HOST'].$_SERVER['REQUEST_URI']);
$url = $url_array[0];
require_once 'google-api-php-client/src/Google_Client.php';
require_once 'google-api-php-client/src/contrib/Google_DriveService.php';
$client = new Google_Client();
$client->setClientId(''); // Kept my id
$client->setClientSecret(''); //kept my key
$client->setRedirectUri($url);
$client->setScopes(array('https://www.googleapis.com/auth/drive'));
if (isset($_GET['code'])) {
$_SESSION['accessToken'] = $client->authenticate($_GET['code']);
header('location:'.$url);exit;
} elseif (!isset($_SESSION['accessToken'])) {
$client->authenticate();
}
ここまでは問題なく動作します。アプリが認証され、アプリにリダイレクトされます。では、ファイル一覧を表示してみます。
問題コード:
$service = new Google_DriveService($client);
$result = array();
$files = $service->files->listFiles();
$result = array_merge($result, $files->getItems());
print_r($result);
次のエラーが表示されます。
エラー: C:\wamp\www\Sample\google-api-php で「 GET https://www.googleapis.com/drive/v2/filesの呼び出し中にエラーが発生しました: (401) ログインが必要です」というメッセージを含むキャッチされない例外「Google_ServiceException」-client\src\io\Google_REST.php
誰かが私を修正するのを手伝ってくれますか。また、ドキュメントを挿入する簡単なコードを共有していただければ幸いです。