0

我正在尝试使用 Google drive API 学习一个简单的网络应用程序 (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

0

在 $client->authenticate(); 之后添加这一行: $client->setAccessToken($accessToken);

于 2013-09-12T13:02:50.993 回答