如何使用google-api-php-client获取Android应用的评论

时间:2018-11-20 10:23:59

标签: php google-api google-api-php-client google-play-developer-api

我尝试了google-api-php-client

<?php 

require_once 'google-api-php-client-2.2.2\vendor\autoload.php';

putenv('GOOGLE_APPLICATION_CREDENTIALS=client_secret.json');

$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope(Google_Service_AndroidPublisher::ANDROIDPUBLISHER);

$android_publisher = new Google_Service_AndroidPublisher($client);
$response = $android_publisher->reviews->listReviews('appname');   

echo "<pre>";
var_dump($response);

并帮助我

$android_publisher = new Google_Service_AndroidPublisher($client);
$response = $android_publisher->reviews->listReviews('appname');

我正确吗?

请给我一些资源,以使用php编写Google api调用。 我正在尝试在Playstore中获取我的应用程序的所有评论。

我正在尝试使用php进行此调用。 Google documentation

Library I am Using

运行上述代码得到的结果

object(Google_Service_AndroidPublisher_ReviewsListResponse)#70 (10) {
  ["collection_key":protected]=>
  string(7) "reviews"
  ["pageInfoType":protected]=>
  string(40) "Google_Service_AndroidPublisher_PageInfo"
  ["pageInfoDataType":protected]=>
  string(0) ""
  ["reviewsType":protected]=>
  string(38) "Google_Service_AndroidPublisher_Review"
  ["reviewsDataType":protected]=>
  string(5) "array"
  ["tokenPaginationType":protected]=>
  string(47) "Google_Service_AndroidPublisher_TokenPagination"
  ["tokenPaginationDataType":protected]=>
  string(0) ""
  ["internal_gapi_mappings":protected]=>
  array(0) {
  }
  ["modelData":protected]=>
  array(0) {
  }
  ["processed":protected]=>
  array(0) {
  }
}

当我这样做

var_dump($client);

我得到的配置是

["config":"Google_Client":private]=>
  array(23) {
    ["application_name"]=>
    string(9) "php_level"
    ["base_path"]=>
    string(26) "https://www.googleapis.com"
    ["client_id"]=>
    string(0) ""
    ["client_secret"]=>
    string(0) ""
    ["redirect_uri"]=>
    NULL
    ["state"]=>
    NULL
    ["developer_key"]=>
    string(0) ""
    ["use_application_default_credentials"]=>
    bool(true)
    ["signing_key"]=>
    NULL
    ["signing_algorithm"]=>
    NULL
    ["subject"]=>
    NULL
    ["hd"]=>
    string(0) ""
    ["prompt"]=>
    string(0) ""
    ["openid.realm"]=>
    string(0) ""
    ["include_granted_scopes"]=>
    NULL
    ["login_hint"]=>
    string(0) ""
    ["request_visible_actions"]=>
    string(0) ""
    ["access_type"]=>
    string(6) "online"
    ["approval_prompt"]=>
    string(4) "auto"
    ["retry"]=>
    array(0) {
    }
    ["cache_config"]=>
    array(0) {
    }
    ["token_callback"]=>
    NULL
    ["jwt"]=>
    NULL
  }

这正常吗?

1 个答案:

答案 0 :(得分:0)

要访问Google API时。您需要在Google Developer Console上创建一个应用程序。设置好应用程序后,您将获得一个凭证文件。此文件在您的代码中用于访问Google api。它告诉Google和将要登录的用户,谁是应用程序的所有者,以及他们将请求什么数据。

您可以在下图中看到它。谷歌分析窗口应用程序希望请求用户访问Google分析数据。

enter image description here

凭证文件不授予您访问用户数据的权限。登录该应用程序并授予访问权限的用户将是授予对数据访问权限的用户。

可能已为您提供了凭据文件,但还必须为您提供了有权访问数据或无法看到任何内容的google帐户的登录名和密码。

TBH,我很惊讶您没有收到错误消息。在您使用service account的机会很小的情况下,我从您的代码中看不到。您需要确保其设置正确才能访问数据,否则您将无法看到它。