这个问题已被提出,但从未回答。
我想写一些PHP脚本,将视频上传到我自己的YouTube帐户。我已经注册了该应用程序并拥有开发人员密钥,客户密钥和客户密钥。
我不需要允许任何用户将视频上传到自己的帐户,因此我不需要完成完整的OAuth流程;特别是我不需要在任何地方重定向任何人:我只需要我的脚本代表我进行身份验证(而不是代表任何其他人)。
我知道我可以使用ClientLogin身份验证,但我在YouTube API文档网站上看到它“不推荐用于新开发”,我担心这意味着在不久的将来会停止对它的支持。所以我更喜欢使用OAuth。
Twitter API也使用OAuth,它提供了一种简单的方法,使用您可以在应用程序管理页面上找到的访问令牌,使用应用程序所有者自己的帐户进行身份验证。 如何为Youtube应用程序获取类似的令牌?
由于 米。
答案 0 :(得分:14)
针对已安装的应用程序尝试OAuth 2.0:http://code.google.com/apis/youtube/2.0/developers_guide_protocol.html#OAuth2_Installed_Applications_Flow
首先,注册API以获取client_id。
然后,登录您的Google帐户,输入以下网址,与您的帐户更改client_id。 redirect_uri应设置为“urn:ietf:wg:oauth:2.0:oob”。
然后您授权自己的应用程序并获取授权码。
然后打开一个终端并输入(更改你的代码,client_id和client_secret):
curl https://accounts.google.com/o/oauth2/token -d "code=4/ux5gNj-_mIu4DOD_gNZdjX9EtOFf&client_id=1084945748469-eg34imk572gdhu83gj5p0an9fut6urp5.apps.googleusercontent.com&client_secret=hDBmMRhz7eJRsM9Z2q1oFBSe&redirect_uri=urn:ietf:wg:oauth:2.0:oob&grant_type=authorization_code"
你会得到如下回复:
{
"access_token" : "ya29.AHES6ZTtm7SuokEB-RGtbBty9IIlNiP9-eNMMQKtXdMP3sfjL1Fc",
"token_type" : "Bearer",
"expires_in" : 3600,
"refresh_token" : "1/HKSmLFXzqP0leUihZp2xUt3-5wkU7Gmu2Os_eBnzw74"
}
记住refresh_token,每次运行应用程序时,都需要使用refresh_token获取新的access_token。