从 oauth 用户访问 Youtube 频道
Access Youtube channels from oauth'd user
我正在尝试获取使用 Google 登录到我网站的用户的所有频道,并最终获取所有视频。我正在使用 Laravel Socialite 来设置我认为应该给予适当权限的范围。然后我将访问令牌设置为会话。
public function loginGoogle()
{
return Socialite::driver('google')->setScopes(['https://www.googleapis.com/auth/youtube.readonly',])->redirect();
}
在验证用户身份并保存访问令牌后处理回调时,我 运行 以下内容:
dd(\Youtube::getService()->channels->listChannels('snippet', ['managedByMe' => true, 'onBehalfOfContentOwner' => session('access_token')]));
\Youtube
只是我为处理网站中的 Youtube 功能而制作的外观。
当 运行ning 代码时抛出以下错误:
Client error: `GET https://www.googleapis.com/plus/v1/people/me?prettyPrint=false` resulted in a `403 Forbidden` response:
{"error":{"errors":[{"domain":"global","reason":"insufficientPermissions","message" :"Insufficient Permission"}],"code":4 (t运行cated...)
我不知道我是在使用不正确的范围还是只是搞砸了一些更大的东西。 Youtube 的文档对此帮助不大。他们只是说用户必须获得授权……他们是?
已经研究了几天,我不确定下一步该去哪里。
改变
return Socialite::driver('google')->setScopes(['https://www.googleapis.com/auth/youtube.readonly',])->redirect();
到
return Socialite::driver('google')->scopes(['https://www.googleapis.com/auth/youtube.readonly',])->redirect();
似乎已解决。看看 documentation 就明白为什么那行不通了。
我正在尝试获取使用 Google 登录到我网站的用户的所有频道,并最终获取所有视频。我正在使用 Laravel Socialite 来设置我认为应该给予适当权限的范围。然后我将访问令牌设置为会话。
public function loginGoogle()
{
return Socialite::driver('google')->setScopes(['https://www.googleapis.com/auth/youtube.readonly',])->redirect();
}
在验证用户身份并保存访问令牌后处理回调时,我 运行 以下内容:
dd(\Youtube::getService()->channels->listChannels('snippet', ['managedByMe' => true, 'onBehalfOfContentOwner' => session('access_token')]));
\Youtube
只是我为处理网站中的 Youtube 功能而制作的外观。
当 运行ning 代码时抛出以下错误:
Client error: `GET https://www.googleapis.com/plus/v1/people/me?prettyPrint=false` resulted in a `403 Forbidden` response:
{"error":{"errors":[{"domain":"global","reason":"insufficientPermissions","message" :"Insufficient Permission"}],"code":4 (t运行cated...)
我不知道我是在使用不正确的范围还是只是搞砸了一些更大的东西。 Youtube 的文档对此帮助不大。他们只是说用户必须获得授权……他们是?
已经研究了几天,我不确定下一步该去哪里。
改变
return Socialite::driver('google')->setScopes(['https://www.googleapis.com/auth/youtube.readonly',])->redirect();
到
return Socialite::driver('google')->scopes(['https://www.googleapis.com/auth/youtube.readonly',])->redirect();
似乎已解决。看看 documentation 就明白为什么那行不通了。