致命错误使用谷歌PHP客户端库

问题描述:

我使用Google's PHP client library访问analytics API,我不断收到错误,调用非对象上的成员函数。我被困了超过一天。我已经通过several solutions阅读,我没有看到如何解决这个问题。致命错误使用谷歌PHP客户端库

require_once "google-api-php-client/src/Google_Client.php"; 
require_once "google-api-php-client/src/contrib/Google_AnalyticsService.php"; 
session_start(); 

$client = new Google_Client(); 
$client->setApplicationName("app-name"); 
$client->setClientId('client-id'); 
$client->setClientSecret('my-secret'); 
$client->setRedirectUri('http://www.website.com/'); 
$client->setDeveloperKey('secret-key'); 

$analyticsService = new Google_AnalyticsService($client); 
$dailyUploads = $analyticsService->dailyUploads; 

这是(我认为)是Google recommends对此进行设置的方式,但是当我打印出来的$ dailyUploads其空/空的内容。如果我打印出$ analyticsService,则可以看到Google_AnalyticsService的代码。

在我的代码之后,身份验证后,我尝试使用上传功能,像这样:

$upload = $dailyUploads->upload($media); 

这将产生我前面提到的错误,致命错误:调用一个成员函数上传()上一个非对象。

任何人都可以帮忙吗?我忽略了什么?

我已经解决了这个问题。有两个问题:

  1. Google_AnalyticsService.php文件自最新的稳定版本以来已更新,所以我链接的代码并未实际加载到我的项目中。我通过更新我的库来解决此问题,以包含显示在their website上的代码。
  2. 引用该类的正确方法是'management_dailyUploads'。我更新了我的代码。

    $ analyticsService = new Google_AnalyticsService($ client);
    $ dailyUploads = $ analyticsService-> management_dailyUploads;上传('123456','UA-123456-1','xXxXxXxX',2013-02-15,1,'cost',数组(“reset”=> true, “data”=> file_get_contents('/ path/to/file.csv'),“mimeType”=>'application/octet-stream','uploadType'=>'media'));

一旦我实现了这些更新,我的应用程序就开始与Google的服务器进行通信。我现在有一个不同的问题需要解决(我们不总是这样?),但是提示该线程的问题已经解决了,所以我将其标记为已回答。

ps - 我不知道为什么代码没有正确格式在这里。