在服务器上验证 youtube 帐户

Authenticate youtube account on server

我创建了一个网络应用程序,它将只显示一个帐户的所有私人视频。

现在我必须验证帐户才能获取列表视频。我看到了 2 种通过 ClientLoginOauth 进行身份验证的方法。 ClientLogin 已弃用,不知道如何使用 Oauth 验证服务器上的默认帐户。

我的应用程序有 client_idclient_secret
我尝试了 this example 但没有用,我不知道 $get['code'] 中有什么以及如何在使用 OAuth 时放置此帐户的 usernamepasswordClientLogin.

询问您是否声明 clientLogin 已关闭您无法使用登录名和密码访问任何 Google api。您的应用程序需要进行身份验证

关于 YouTube API,您需要了解的是它不支持服务帐户。您将不得不使用 Oauth2。我不是 PHP 开发人员,但我以前在 C# 中完成过此操作。你想做的事情可能有点棘手。

首先,正如我所说,您需要使用 Oauth2。我希望这个例子是合理的 up to date if not the one for Google analytics 是你可能需要稍微比较一下。

您的脚本将需要使用 Oauth2 进行一次身份验证。然后通过请求

$client->setAccessType("offline");

您将收到一个刷新令牌。然后,您可以随时在服务器上的脚本中使用此刷新令牌来请求新的访问令牌并访问该频道的 YouTube。

很简单。

您可以按照 How do I authorise an app (web or installed) without user intervention? (canonical ?) 中的步骤获取刷新令牌。在第 8 步,选择 YouTube API 而不是云端硬盘 API。尝试选择最严格的范围,例如。只读。您可以在您的应用程序中嵌入刷新令牌(安全!!!),然后随时使用它来生成访问令牌。因此,存储的刷新令牌的行为类似于具有受限权限的 username/password。