致命错误:Class' Google_Auth_AssertionCredentials'未找到

时间:2015-12-07 09:17:41

标签: php google-analytics-api google-api-php-client

我尝试将旧版Google API迁移到新版本,因此我可以获取谷歌分析数据。我尝试使用this示例,但它会触发此错误

  

致命错误:Class' Google_Auth_AssertionCredentials'找不到   使用example.php

这就是我尝试的方式:

Google_Auth_AssertionCredentials

我确实在here下载的库中搜索了Google_Auth_AssertionCredentials removed use Google_Client::setAuthConfig instead,只有一个结果:upagrading.md

$googleAssertionCredentials = new Google_Client::setAuthConfig( $serviceAccountName, $scopes );

但是我应该如何在构造函数中使用它?

我tred

SELECT e FROM  Employee e WHERE e.active = TRUE

内部服务器错误,

知道我在这里失踪的是什么吗?

2 个答案:

答案 0 :(得分:2)

看起来你混合了旧的和新的(Google PHP API Client 2.0)语法。消息“使用Google_Client :: setAuthConfig”意味着指示要使用的方法,但不是应该静态调用。

它应该是这样的:

$client = new Google_Client();

// set the scope(s) that will be used
$client->setScopes(array('https://www.googleapis.com/auth/analytics.readonly'));

// this is needed only if you need to perform
// domain-wide admin actions, and this must be
// an admin account on the domain; it is not 
// necessary in your example but provided for others
$client->setSubject('youradmin@example.com');

// set the authorization configuration using the 2.0 style
$client->setAuthConfig(array(
    'type' => 'service_account',
    'client_email' => '395545742105@developer.gserviceaccount.com',
    'client_id' => '395545742105.apps.googleusercontent.com',
    'private_key' => 'yourkey'
));

$analyticsService = new Google_Service_Analytics($client);

此语法适用于本文撰写时的当前版本,即2.0.0-RC2

答案 1 :(得分:0)

此解决方案适用于我:

https://github.com/google/google-api-php-client/blob/master/README.md中的作曲家设置部分可以提及两个版本,例如:

作曲家需要google / apiclient:^2.0.0@RC 请注意,developers.google.com上的文档是指此库的V1。如果您想使用旧版本,请使用: 作曲家需要google / apiclient:1。*

https://github.com/google/google-api-php-client/issues/748