让 Google 客户端在 Lumen 中工作
Getting the Google Client to work in Lumen
我正在尝试让 php 的 google api 客户端在 Lumen 中工作,但是尝试创建一个客户端会导致我的 api 给出一个'Oops, something went wrong' 没有更多有用信息的错误。
我认为这与我尝试将 google api 客户端导入 Lumen 的方式有关,我使用 composer 来安装它。但我不确定我是否为 Lumen 使用了正确的东西。如果我更改 require_once,它会声明在当前路径中找不到 'autoload.php'。我也试过 composer update -vvv
Google 文件夹存在于我的供应商文件夹中,composer.json 也有一个 google/apiclient
的条目
"require": {
"php": ">=7.1.3",
"google/apiclient": "2.0",
"laravel/lumen-framework": "5.8.*"
},
<?php
namespace App\Http\Controllers;
require_once dirname(__DIR__).'\..\..\vendor\autoload.php';
use App\Author;
use Illuminate\Http\Request;
class AccessController extends Controller
{
private function getToken()
{
$credentialsFilePath = 'service_account.json';
$client = new Google_Client();
$client->setAuthConfig($credentialsFilePath);
$client->addScope('https://googleapis.com/auth/analytics.readonly');
$client->setApplicationName("GoogleAnalytics");
$client->refreshTokenWithAssertion();
$token = $client->getAccessToken();
$accessToken = $token['access_token'];
return $accessToken;
}
public function showAccess()
{
$at = getToken();
return response('Token: ');
}
}
如您所见,我正在尝试从保存在服务器上的 json 获取服务帐户访问令牌(没问题)。但每当行 $client = new Google_Client();
被调用,我从 Lumen
得到 'woops, something went wrong' 错误
我好像忘了 use Google_Client;
很简单,但我完全忽略了。
我正在尝试让 php 的 google api 客户端在 Lumen 中工作,但是尝试创建一个客户端会导致我的 api 给出一个'Oops, something went wrong' 没有更多有用信息的错误。
我认为这与我尝试将 google api 客户端导入 Lumen 的方式有关,我使用 composer 来安装它。但我不确定我是否为 Lumen 使用了正确的东西。如果我更改 require_once,它会声明在当前路径中找不到 'autoload.php'。我也试过 composer update -vvv
Google 文件夹存在于我的供应商文件夹中,composer.json 也有一个 google/apiclient
的条目 "require": {
"php": ">=7.1.3",
"google/apiclient": "2.0",
"laravel/lumen-framework": "5.8.*"
},
<?php
namespace App\Http\Controllers;
require_once dirname(__DIR__).'\..\..\vendor\autoload.php';
use App\Author;
use Illuminate\Http\Request;
class AccessController extends Controller
{
private function getToken()
{
$credentialsFilePath = 'service_account.json';
$client = new Google_Client();
$client->setAuthConfig($credentialsFilePath);
$client->addScope('https://googleapis.com/auth/analytics.readonly');
$client->setApplicationName("GoogleAnalytics");
$client->refreshTokenWithAssertion();
$token = $client->getAccessToken();
$accessToken = $token['access_token'];
return $accessToken;
}
public function showAccess()
{
$at = getToken();
return response('Token: ');
}
}
如您所见,我正在尝试从保存在服务器上的 json 获取服务帐户访问令牌(没问题)。但每当行 $client = new Google_Client();
被调用,我从 Lumen
我好像忘了 use Google_Client;
很简单,但我完全忽略了。