使用Google云端硬盘的服务器到服务器应用程序未响应API调用

时间:2018-11-06 06:43:41

标签: php api google-drive-api server-to-server

我正在一个项目中,我必须使用 PHP 构建服务器到服务器的应用程序。

概念是:公司将帐单上载到Google云端硬盘,用户使用该网站检索帐单。首先,我没有对服务器使用作曲器,因为我没有安装许可。因此,我下载了libs并通过ftp上传到服务器。然后,我创建了G Suite Google account,并按照其指南https://developers.google.com/api-client-library/php/auth/service-accounts中的说明进行操作。

奇怪的是,如果var_dump之后的$results = $service->files(服务),我看到对客户端的验证已经完成。当我尝试通过$results = $service->files->listFiles($optParams);使用api时,页面没有响应。我真的对此感到困惑。

<?php
session_start();
require_once "vendor/autoload.php";
require 'init.php';

putenv('GOOGLE_APPLICATION_CREDENTIALS=service.json');

$client = getClient();
$service = new Google_Service_Drive($client);

function getClient() {
    $client = new Google_Client();
    $client->useApplicationDefaultCredentials();
    return $client;
}
 $optParams = array(
    'pageSize' => 5,
    'fields' => 'files(webViewLink, name , parents, id)'
);

$results = $service->files->listFiles($optParams);

1 个答案:

答案 0 :(得分:0)

解决了。问题是PHP版本。我切换到7.2,似乎可以完美运行!