首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在实现Google API示例时,无法通过OAuth 2.0

在实现Google API示例时,无法通过OAuth 2.0
EN

Stack Overflow用户
提问于 2018-07-20 02:11:08
回答 1查看 184关注 0票数 0

我正在尝试使用PlaylistItems: insert YouTube Data API sample以编程方式将YouTube视频添加到播放列表中。

我将该示例托管在https://[mydomain].com/custom/yt/insert.php上,并在该目录中运行所提供的composer命令,以按照说明安装客户端。

我在API控制台中将OAuth重定向地址设置为https://[mydomain].com/custom/yt/insert.php,并下载了secrets.json文件并将其托管在相同的目录中。

当我在浏览器中运行insert.php脚本时,我被带到一个包含以下内容的页面:

代码语言:javascript
复制
Open the following link in your browser: https://accounts.google.com/o/oauth2/auth?response_type=code&access_type=offline&client_id=194988007367-cnn3jdo0c4j6njsvorpcv1s5jdhej6iu.apps.googleusercontent.com&redirect_uri=https%3A%2F%2Fdjpanaflex.com%2Fcustom%2Fyt%2Finsert.php&state&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fyoutube.force-ssl&approval_prompt=auto Enter verification code:

没有提供验证码,但当我访问该网址时,我被带着通过身份验证过程,似乎成功完成了它。

但是,不会执行将视频添加到播放列表的API调用:

代码语言:javascript
复制
playlistItemsInsert($service,
array('snippet.playlistId' => '[PLAYLIST ID OMITTED]',
       'snippet.resourceId.kind' => 'youtube#video',
       'snippet.resourceId.videoId' => '[VIDEO ID OMITTED]',
       'snippet.position' => ''),
'snippet', 
array('onBehalfOfContentOwner' => ''));

相反,我会返回到提示我完成授权过程的页面。

为什么没有执行API调用?我的OAuth 2.0身份验证是否未存储?如果是这样的话,我该如何纠正呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-20 03:36:25

事实证明,谷歌的示例被设计为从命令行界面运行,而我的基于浏览器的实现没有提供一种提示用户输入的方法,这些输入是由从STDIN接受输入的getClient()函数中的一行调用的。

由于验证码是作为$authUrl变量中的一个参数提供的,在第一次运行脚本时会将该变量打印到屏幕上,因此我能够通过替换

$authCode = trim(fgets(STDIN));

通过以下方式:

$authCode = $_GET['code'];

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51429330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档