Google Scripts + Google API PHP

Опитвам се да извикам един от моите Google скриптове от моя google-api-php-клиент и не мога да намеря как да направя това.

Разположих приложението си като уеб приложение и получих URL адреса на уеб приложението, който мога да извикам с curl, но трябва да го нарека като мой „клиент на Google“.

Намерих списък с приложения в моята услуга за шофиране, но не мога да разбера как да намеря кое приложение е правилното и как да го извикам. Дори не знам дали е правилно първо да проверя, тъй като не намирам нищо от документацията.

    $googleDrive = new \Google_Service_Drive($this->_googleClient);
    $test = $googleDrive->apps->listApps();
    var_dump($test);

И така или иначе, ако получа приложението, то просто връща екземпляр на Google_Service_Drive_App, но вътре няма нищо, което да извика скрипта с моите параметри за публикация.

АКТУАЛИЗАЦИЯ:

Използвам клиентската библиотека на API на Google за PHP

https://developers.google.com/api-client-library/php/start/get_started https://developers.google.com/api-client-library/php/start/installation

Потребителят се удостоверява чрез oAuth с \Google_Client(); с всички обхвати на DRIVE за разрешение.

Моят Google Script се намира в потребителското устройство и се опитвам да го изпълня дистанционно. Разположих скрипта като уеб приложение. По-долу можете да намерите URL адреса на скриптовия файл.

https://script.google.com/macros/s/[my_google_script_id]/exec

По принцип искам клиентската библиотека на API на Google за PHP да изпълни скриптовия файл от потребителското устройство.

Опитах се да използвам класа Google_Http_Request директно и да го изпълня с Google_Client, почти работи както се очакваше.

    $googleRequest = new \Google_Http_Request($url, 'POST', null, array('post' => 'parameters'));
    $this->_googleClient->execute($googleRequest);

person user1855153    schedule 08.06.2015    source източник
comment
Опитвате ли се да направите нещо подобно с вашия Google Apps Script като втори сървър? Не можете да получите списък с функциите в скрипт чрез този API - вижте представяне на ресурси. Вместо това трябва да внедрите своята уеб услуга Google Apps Script, за да използвате ContentService за предоставяне на отговорите на вашите PHP публикации.   -  person Mogsdad    schedule 08.06.2015
comment
Използвам функцията doPost, мога да изпълня скрипта с CURL без проблем, но трябва да го стартирам като текущия клиент на Google, а не като анонимен. Трябва ли да добавя нещо в моята заявка за публикуване на curl, за да уведомя Google кой точно изпълнява скрипта.   -  person user1855153    schedule 08.06.2015
comment
Това звучи различно от вашия въпрос... може би трябва да редактирате въпроса, за да стане по-ясно какъв е вашият КОНКРЕТЕН проблем. Виждали ли сте Удостоверяване на потребителя в PHP?   -  person Mogsdad    schedule 08.06.2015


Отговори (1)


В крайна сметка използвах CURL заявка, предавайки директно заглавката „Authorization“ с token_type и access_token и тя работи както се очакваше. Не намерих никакъв начин да направя това с помощта на клиентската библиотека на API на Google за PHP

    POST
    Authorization: Bearer [your_auth_token]
    Content-Length: 0
person user1855153    schedule 08.06.2015