0

Я пытаюсь настроить библиотеку google-api-php-client в моем проекте. Я уже создал пользовательский проект движка Google, который состоит в конечной точке облака. Проект называется «set-core», служба называется «vrp API», версия «v1» и метод vrp.vrp.getSolution().Настройка google-api-php-client для связи с пользовательским API-интерфейсом API-интерфейсов Google

Теперь в моем PHP коде я слежу этот пример: https://developers.google.com/api-client-library/php/start/get_started#building-and-calling-a-service

Проблемы заключается в том, что в этом примере нет упоминания, как подключиться к любой таможенной службе, за пределами того Google.

Мой 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 предупреждает меня:

Примечание: Попытка получить свойство не-объекта (я предполагаю, что это $ услуга).

Проблема в том, что я действительно не знаю, как настроить все параметры клиента и какой тип сервиса использовать.

ответ

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.

Надеюсь, это поможет!

+0

Знаете ли вы, как это можно сделать с помощью старой библиотеки v1? мы застряли на php5.3 в данный момент ... – jonnie

Смежные вопросы