PHP Google Oauth API未设置令牌

PHP Google Oauth API未设置令牌,php,google-api,google-api-php-client,Php,Google Api,Google Api Php Client,我在使用谷歌API时遇到了麻烦,但我对使用他们的API也是全新的,所以我需要一些帮助。从我收集的信息来看,$client->getAccessToken没有正确设置。有人能帮我弄清楚为什么gradebook.php中不断出现错误消息吗?为什么代币不被接受 Gradebook.php: <?php session_start(); require_once 'oauth.php'; if ($client->getAccessToken()) { //Now have of

我在使用谷歌API时遇到了麻烦,但我对使用他们的API也是全新的,所以我需要一些帮助。从我收集的信息来看,$client->getAccessToken没有正确设置。有人能帮我弄清楚为什么gradebook.php中不断出现错误消息吗?为什么代币不被接受

Gradebook.php:

<?php

session_start();
require_once 'oauth.php';

if ($client->getAccessToken()) {
    //Now have offline access of the user
    $_SESSION['token'] = $client->getAccessToken();

    //User token google drive call:
    $service = new Google_Service_Classroom($client);
    $courses = $service->courses->listCourses(['teacherId' => 'me']);

    foreach ($courses as $key => $course) {
        // var_dump($course->id);
        $courseWorks = $service->courses_courseWork->listCoursesCourseWork($course['id']);
        foreach ($courseWorks as $k => $courseWork) {
            // print_r($courseWork);
            // var_dump($courseWork->id);
            $studentSubmissions = $service->courses_courseWork_studentSubmissions->listCoursesCourseWorkStudentSubmissions($course->id, $courseWork->id);
            // print_r($studentSubmissions);
            foreach ($studentSubmissions as $i => $studentSubmission) {
                $student = $service->courses_students->get($course->id, $studentSubmission->userId);
                $emailAddress  = $student->getProfile()->emailAddress;
                $emailId = explode('@', $emailAddress)[0];

                var_dump($emailId);
                var_dump($course->id);
                var_dump($courseWork->id);
                var_dump($studentSubmission->assignedGrade);
            }
        }
    }
}

else {echo "ERROR DETECTED!!";}


在尝试访问资源之前,需要先设置访问令牌。我已调整了您的代码以设置令牌

<?php
session_start();
require_once '../Internal/oauth.google.php';

$client->setAccessToken($_SESSION["token"]); //set the access token is what you missed

/*$client->getAccessToken() should return a none NULL value if set properly, something we have added above*/
if ($client->getAccessToken() !==NULL) { 
    //Now have offline access of the user
    $_SESSION['token'] = $client->getAccessToken();

    //User token google drive call:
    $service = new Google_Service_Classroom($client);
    $courses = $service->courses->listCourses(['teacherId' => 'me']);

    foreach ($courses as $key => $course) {
        print_r($course);
        $courseWorks = $service->courses_courseWork->listCoursesCourseWork($course['id']);
        foreach ($courseWorks as $k => $courseWork) {
            // print_r($courseWork);
            // var_dump($courseWork->id);
            $studentSubmissions = $service->courses_courseWork_studentSubmissions->listCoursesCourseWorkStudentSubmissions($course->id, $courseWork->id);
            // print_r($studentSubmissions);
            foreach ($studentSubmissions as $i => $studentSubmission) {
                $student = $service->courses_students->get($course->id, $studentSubmission->userId);
                $emailAddress  = $student->getProfile()->emailAddress;
                $emailId = explode('@', $emailAddress)[0];

                var_dump($emailId);
                var_dump($course->id);
                var_dump($courseWork->id);
                var_dump($studentSubmission->assignedGrade);
            }
        }
    }
}
else {header('Location: ../index.php'); exit();}

<?php
session_start();
require_once '../Internal/oauth.google.php';

$client->setAccessToken($_SESSION["token"]); //set the access token is what you missed

/*$client->getAccessToken() should return a none NULL value if set properly, something we have added above*/
if ($client->getAccessToken() !==NULL) { 
    //Now have offline access of the user
    $_SESSION['token'] = $client->getAccessToken();

    //User token google drive call:
    $service = new Google_Service_Classroom($client);
    $courses = $service->courses->listCourses(['teacherId' => 'me']);

    foreach ($courses as $key => $course) {
        print_r($course);
        $courseWorks = $service->courses_courseWork->listCoursesCourseWork($course['id']);
        foreach ($courseWorks as $k => $courseWork) {
            // print_r($courseWork);
            // var_dump($courseWork->id);
            $studentSubmissions = $service->courses_courseWork_studentSubmissions->listCoursesCourseWorkStudentSubmissions($course->id, $courseWork->id);
            // print_r($studentSubmissions);
            foreach ($studentSubmissions as $i => $studentSubmission) {
                $student = $service->courses_students->get($course->id, $studentSubmission->userId);
                $emailAddress  = $student->getProfile()->emailAddress;
                $emailId = explode('@', $emailAddress)[0];

                var_dump($emailId);
                var_dump($course->id);
                var_dump($courseWork->id);
                var_dump($studentSubmission->assignedGrade);
            }
        }
    }
}
else {header('Location: ../index.php'); exit();}