0

Google ドライブ API を使用して簡単な Web アプリ (PHP) を学習しようとしています。

  1. ドライブ内のファイルのリストを表示します。
  2. ドライブに新しいファイルを追加します。

次のようにコードします。

<?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

誰かが私を修正するのを手伝ってくれますか。また、ドキュメントを挿入する簡単なコードを共有していただければ幸いです。

4

1 に答える 1