Настройте google-api-php-client для взаимодействия с конечной точкой API пользовательского механизма приложений Google

Я пытаюсь настроить библиотеку google-api-php-client в моем проекте.
Я уже создал собственный проект движка приложения Google, который состоит из конечной точки облака. Проект называется «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

Проблема в том, что в этом примере нет упоминания о том, как подключиться к какой-либо пользовательской службе, кроме 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 предупреждает меня:

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

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

1

Решение

Вы захотите создать авторизованный 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

Другие решения

Других решений пока нет …