1

我正在尝试在我的项目中配置 google-api-php-client 库。我已经创建了一个包含在云端点中的自定义谷歌应用引擎项目。项目名为“set-core”,服务名为“vrp API”,版本为“v1”,方法为vrp.vrp.getSolution()

现在在我的 PHP 代码中,我正在关注这个示例: https ://developers.google.com/api-client-library/php/start/get_started#building-and-calling-a-service

问题是在这个例子中没有提到如何连接到谷歌之外的任何自定义服务。

我的 PHP 代码是:

$client = new Google_Client();
$client->setApplicationName("set-core");
$client->setDeveloperKey("AIzaSyByd8cRJNGYC4szFLbr3**************");
$client->isAppEngine(true);

$service = new Google_Service_Appengine_Service($client);
$results = $service->vrp->vrp.vrp.getSolution($stringVehicles, $stringServices, $stringDepot);

不幸的是,在最后一行,PHP 警告我:

注意:试图获取非对象的属性(我假设它是 $service)。

问题是我真的不知道如何设置所有客户端的参数以及使用哪种服务类型。

4

1 回答 1

0

您将要创建一个授权的 HTTP 客户端,然后直接使用它请求您的 API 端点。您在上面操作的 AppEngine 服务类不适用于此用例。像这样的东西应该工作:

$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$httpClient = $client->authorize();
$response = $httpClient->request('GET', 'https://myapp.appspot.com/vrp/getSolution');

该类$httpClient是 的一个实例GuzzleHttp\Client,但您的 Google 身份验证已添加到其中。请参阅使用 Guzzle 发出请求的文档。

我希望这有帮助!

于 2016-06-07T00:13:34.107 回答