Laravel Как получить токен доступа к API Youtube

Я получаю сообщение об ошибке «Требуется токен», хотя опция маршрута уже включена, но все же она не работает.

с помощью этой библиотеки: https://github.com/ДжоДоусон/youtube

Laravel Как получить токен доступа к API Youtube

не могли бы вы помочь мне решить эту проблему?

Код :

class VideoController extends BaseController {

public function __construct(){

}

public function store(Request $request){

    $video = Youtube::upload($request->file("video")->getPathName(), [
        'title'       => 'My Video',
        'description' => 'This video is uploaded through API.',
        'tags'        => ['api', 'youtube'],
    ]);

    return $this->sendResponse($video);
} 
}

Можете ли вы показать какой-нибудь код, чтобы у нас было представление о том, как помочь? Я предполагаю, что вам нужно выполнить шаги в Developers.google.com/youtube/v3/guides/auth/…, в частности, в разделе «Получение токенов доступа OAuth 2.0».

user1669496 12.07.2019 14:52

привет, братан, твоей информации недостаточно, пожалуйста, прочитай stackoverflow.com/help/как спросить, чтобы задать лучший вопрос с более подробной информацией

Ali 12.07.2019 14:54

вы используете пакет github.com/joedawson/youtube? если да, вы установили идентификатор клиента и секрет клиента?

Ali 12.07.2019 15:13

@user1669496 user1669496 не могли бы вы взглянуть на код, пожалуйста.

Algo VR 12.07.2019 15:14

@Ali Да, я включил их (.env)

Algo VR 12.07.2019 15:18
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
5
1 218
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В соответствии с документацией этого пакета вам необходимо выполнить эти шаги, потому что у вас могут быть проблемы с refresh_token (я думаю, у вас нет токена в вашей базе данных, который должен быть создан после входа в Google)

Важно, прежде чем вы начнете загружать видео, вы подтвердили, что у вас есть refresh_token в вашей базе данных, в противном случае эти шаги должны быть полезными.

1- Удалите все свои токены в файле таблица youtube_access_tokens.
2- Включить маршруты в youtube.php
3- Повторная аутентификация с Google
4- Проверьте свой таблица youtube_access_tokens и найдите максимальное значение недавний токен.
5- Проверьте токен и убедитесь, что refresh_token существует.
6- Отключить маршруты аутентификации в конфиг/youtube.php

вкратце, для создания токена вам нужно посетить свой консоль Google и добавить свой URL-адрес в качестве обратного вызова (localhost). Затем в своем приложении посетите http://локальный:8000/youtube/аутентификация — вы будете перенаправлены в Google и вам будет предложено войти в систему. Это когда вы получите токен, и тогда вы можете больше не увидеть эту ошибку!

(шаг 3-...-6), но как реализовать эти шаги в Laravel API, потому что я не могу перенаправить в API

Algo VR 12.07.2019 15:41

@AlgoVR прочитай добавленный абзац, братан! и для последнего шага вы должны установить false в этом файле конфигурации

Ali 12.07.2019 15:44

@AlgoVR, что случилось?! Вы решили это? спросите меня о любой проблеме, с которой вы столкнулись

Ali 12.07.2019 15:58

Я согласен с вами, но на самом деле я хочу выполнить эти шаги в API, не перенаправляя пользователя!

Algo VR 12.07.2019 16:04

я получил эту ошибку: Ошибка: redirect_uri_mismatch, когда я пытаюсь открыть этот URL: локальный хост: 8000/youtube/аутентификация

Algo VR 12.07.2019 16:05

@AlgoVR не нужно каждый раз перенаправлять пользователя, просто один раз вам нужно авторизовать свое приложение с созданием токена, как я вам сказал

Ali 12.07.2019 16:07

Я вижу, @Ali, у тебя есть идеи, с кем я могу проверить это на Почтальоне?

Algo VR 12.07.2019 16:12

@AlgoVR явно означает, что у вас нет URL-адреса перенаправления или он неправильный, поэтому перейдите в консоль своего проекта и посмотрите в разделе «Доступ к API». Там вы должны увидеть свой идентификатор клиента и секрет клиента, а также список URI перенаправления. Если нужного URI нет в списке, нажмите «Изменить настройки» и добавьте URI в список, и это займет несколько минут.

Ali 12.07.2019 16:13

@AlgoVR не забудьте redirect_uri в файле конфигурации, который должен совпадать с URI, который вы ввели в разработчике консоли Google.

Ali 12.07.2019 16:20

Я получил ошибку, вы можете проверить это, пожалуйста: конфиг/youtube.php : i.stack.imgur.com/z8G19.pngID клиентов OAuth 2.0 : i.stack.imgur.com/e9Cyo.png

Algo VR 12.07.2019 16:33

@AlgoVR просмотрите ответ! Ошибка требуется токен доступа связана с тем, что у вас нет ключа обновления в таблица youtube_access_tokens, я прав?! есть ли у вас какая-либо запись в этой таблице? поэтому, если не по маршруту /youtube/auth, вы должны быть перенаправлены в google и войти в систему, а затем при перенаправлении в ваше приложение токен будет вставлен в эту таблицу для ошибки redirect_uri_mismatch вы должны установить URI перенаправления приложения как в Google, так и в конфигурационном файле (что не нормально, установите маршрут, который не был установлен ранее) для установки в youtube.com/watch?v=OCLwdwx9xUs google watch

Ali 12.07.2019 16:52

круто, братан, теперь все работает !!, но я могу справиться с аутентификацией Google с помощью React.js, а API просто загружает видео. но я думаю, что в этом случае мне нужно сначала сохранить access_token, получив его из React, в конце API проверит только access_token, существует ли он в базе данных или нет, без перенаправления через API. это имеет смысл !!

Algo VR 12.07.2019 16:52

Да, да, я сделаю, как я могу получить информацию о пользователе, например: ( getUserByToken() )

Algo VR 12.07.2019 17:02

^_^, @Ali любое предложение о том, как получить информацию

Algo VR 12.07.2019 17:09

@AlgoVR, пожалуйста, спрашивайте подробнее! какой пользователь! какой жетон?! я не понял цели

Ali 12.07.2019 17:10

хорошо, @Ali Я имею в виду токен, является ли access_token хранящимся в базе данных более указанной таблицей youtube_access_tokens, таким образом я могу получить информацию о пользователе через там access_token или нет?

Algo VR 12.07.2019 17:24

какие-либо предложения !!

Algo VR 12.07.2019 17:39

@AlgoVR, кстати, я не думаю, что есть способ получить информацию о пользователе, это как-то конфиденциально! но вы можете получить его из промежуточного программного обеспечения, которое вы устанавливаете для каждого входа пользователя, или попросить своего пользователя отправить свою информацию перед авторизацией... для этой новой проблемы задайте новый вопрос

Ali 12.07.2019 17:58

Большое спасибо за вашу помощь, и это было лучшее решение. ^_^

Algo VR 12.07.2019 18:58

Другие вопросы по теме