Я пытаюсь настроить библиотеку 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).
Проблема в том, что я не знаю, как настроить все параметры клиента и какой тип сервиса использовать.
Вы захотите создать авторизованный 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.
Надеюсь, это поможет!
Других решений пока нет …