2013-09-10 2 views
0

Я пытаюсь изучить простую веб-приложение (PHP) с помощью API приводов Google.Список и загрузка в API Google Диска

  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); 

Я получаю эту ошибку:

Error: Uncaught exception 'Google_ServiceException' with message 'Error calling GET https://www.googleapis.com/drive/v2/files : (401) Login Required' in C:\wamp\www\Sample\google-api-php-client\src\io\Google_REST.php

Может кто-то пожалуйста, помогите мне в исправлении, а также я был бы благодарен делиться простой код, как вставить документ.

+0

Требуется ли «вошедшее в систему» ​​состояние «setClientId» и «setClientSecret» или требуется выполнение «аутентификации»? Является ли последнее вызванным (т. Е. Ваша строка запроса 'code' заполнена и правильной? – halfer

ответ

0

Добавить эту строку после $ client-> authenticate() ;: $ client-> setAccessToken ($ accessToken);

Смежные вопросы