0

I'm struggling to trigger a Google Apps Script Function which builds many dropdowns of a Google Spreadsheet.

I need this data to be updated daily on this Google Spreadsheet so I must call the function.

Seems like I'm required to have a client-side authentication which I'm reluctant to force it to happen.

I have set already the Google API PHP Client which does batch updates, get requests and control users and its roles.

Here's how the code looks like:

public function updateTemplate ()
{
    $client     = $this->getClient();
    $service    = new Google_Service_Script($client);

    $scriptId = $this->gScriptId;

    // Create an execution request object.
    $request = new Google_Service_Script_ExecutionRequest();

    $request->setFunction('SetUpNewSpreadsheet');

    try {
        // Make the API request.
        $response = $service->scripts->run($scriptId, $request);

        echo "here<pre>";
        print_r($response);

        exit;

I'm getting the following response error:

Caught exception: { 
    "error": {  
        "code": 401, 
        "message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.", 
        "errors": [ { 
            "message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.", 
            "domain": "global", 
            "reason": "unauthorized" 
        } ]
        , "status": "UNAUTHENTICATED" 
    } 
}

I've checked the message errors and docs already. I'm wondering if maybe I'm missing something or if I can find a way to execute that request without forcing a client-side login?

Has anyone been through it?

4

0 回答 0