为了账号安全,请及时绑定邮箱和手机立即绑定

订阅列表 YouTube API

订阅列表 YouTube API

PHP
慕码人2483693 2023-09-22 14:47:39
使用 Google API,我希望检索我从 Youtube 帐户订阅的频道列表。为此,我使用了以下 PHP 库:https://packagist.org/packages/league/oauth2-client。应用所有必要的信息后,我收到以下错误:致命错误:未捕获的 UnexpectedValueException:从授权服务器收到的响应无效。预期的 JSON ....这是我的代码:<?phprequire 'vendor/autoload.php';$provider = new \League\OAuth2\Client\Provider\GenericProvider([    'clientId'                => 'my_oauth_client_id',    // The client ID assigned to you by the provider    'clientSecret'            => 'my_oauth_client_secret',   // The client password assigned to you by the provider    'redirectUri'             => 'http://localhost/oauthytb/index.php',    'urlAuthorize'            => 'https://accounts.google.com/o/oauth2/v2/auth',    'urlAccessToken'          => 'https://oauth2.googleapis.com/token',    'urlResourceOwnerDetails' => 'https://www.googleapis.com/auth/youtube.readonly']);// If we don't have an authorization code then get oneif (!isset($_GET['code'])) {    $options = [        'scope' => ['https://www.googleapis.com/auth/youtube.readonly']    ];        // Fetch the authorization URL from the provider; this returns the    // urlAuthorize option and generates and applies any necessary parameters    // (e.g. state).    $authorizationUrl = $provider->getAuthorizationUrl($options);    // Get the state generated for you and store it to the session.    $_SESSION['oauth2state'] = $provider->getState();    // Redirect the user to the authorization URL.    header('Location: ' . $authorizationUrl);    exit;// Check given state against previously stored one to mitigate CSRF attack} elseif (empty($_GET['state']) || (isset($_SESSION['oauth2state']) && $_GET['state'] !== $_SESSION['oauth2state'])) {    if (isset($_SESSION['oauth2state'])) {        unset($_SESSION['oauth2state']);    }        exit('Invalid state');} 
查看完整描述

1 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

我终于解决了这个问题。

我更换了:

'urlResourceOwnerDetails' => 'https://www.googleapis.com/auth/youtube.readonly'

经过 :

'urlResourceOwnerDetails' => 'https://www.googleapis.com/youtube/v3/subscriptions?part=snippet%2CcontentDetails&mine=true&key=AIzaSyDay5KNU_TPCD-s_n7t6XqqrHYumUtjytI'



查看完整回答
反对 回复 2023-09-22
  • 1 回答
  • 0 关注
  • 73 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信