致命错误使用谷歌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);
这将产生我前面提到的错误,致命错误:调用一个成员函数上传()上一个非对象。
任何人都可以帮忙吗?我忽略了什么?
我已经解决了这个问题。有两个问题:
- Google_AnalyticsService.php文件自最新的稳定版本以来已更新,所以我链接的代码并未实际加载到我的项目中。我通过更新我的库来解决此问题,以包含显示在their website上的代码。
-
引用该类的正确方法是'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 - 我不知道为什么代码没有正确格式在这里。