Реализовать API Календаря Google Я получил ошибку redirect_uri_mismatch - PullRequest
1 голос
/ 08 июля 2019

У меня установлено приложение laravel 5.8 в Ubuntu 18 (в Digital Ocean) в домене: https://www.votes.nilov -sergey-demo-apps.tk

Я пытаюсь реализовать API Календаря Googleв моем приложении и у меня есть контроль:

app / Http / Controllers / gCalendarController.php

<?php

namespace App\Http\Controllers;

use Carbon\Carbon;
use Google_Client;
use Google_Service_Calendar;
use Google_Service_Calendar_Event;
use Google_Service_Calendar_EventDateTime;
use Illuminate\Http\Request;

class gCalendarController extends Controller
{
    protected $client;

    public function __construct()
    {
        $client = new Google_Client();
        $client->setAuthConfig('client_secret.json');
        $client->addScope(Google_Service_Calendar::CALENDAR);

        $guzzleClient = new \GuzzleHttp\Client(array('curl' => array(CURLOPT_SSL_VERIFYPEER => false)));
        $client->setHttpClient($guzzleClient);
        $this->client = $client;
    }

    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        session_start();
        if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
            $this->client->setAccessToken($_SESSION['access_token']);
            $service = new Google_Service_Calendar($this->client);

            $calendarId = 'primary';

            $results = $service->events->listEvents($calendarId);
            return $results->getItems();

        } else {
            return redirect()->route('oauthCallback');
        }

    }

с маршрутами:

Route::resource('gcalendar', 'gCalendarController');
Route::get('oauth', ['as' => 'oauthCallback', 'uses' => 'gCalendarController@oauth']);

работает метод индекса с URL https://www.votes.nilov -sergey-demo-apps.tk / gcalendar Я получил ошибку перенаправления:

400. That’s an error.

Error: redirect_uri_mismatch

Request Details
response_type=code
access_type=online
client_id=456883705724-bjk3vme7oo0bf4quno7hkfvaanbc0uej.apps.googleusercontent.com
redirect_uri=https://www.votes.nilov-sergey-demo-apps.tk/oauth
state=
scope=https://www.googleapis.com/auth/calendar
approval_prompt=auto
That’s all we know.

Опции моего приложения: https://prnt.sc/oc2c3x Создание идентификатора клиента присяги, который я выбрал "Другие "Все опции с https://www.votes.nilov -sergey-demo-apps.tk .

Зачем перенаправлять ошибку и как ее исправить?

ИЗМЕНЕНО: Я только что обратил внимание на то, что 1) у моей домашней ссылки приложения в конце была «/».Может ли это быть проблемой?Я исправил это, но все еще возникают проблемы.2) Когда в авторизованных доменах я редактирую «voices.nilov-sergey-demo-apps.tk», я вижу, что «nilov-sergey-demo-apps.tk» вводится в авторизованных доменах: https://prnt.sc/ocggqo. Может ли это бытьпроблема?Как это может быть решено, так как "voices.nilov-sergey-demo-apps.tk" является хостингом (сделано в https://my.freenom.com) моего приложения (расположено в Ubuntu 18 под Digital Ocean).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...