我一直试图将oauth2游乐场与Laravel oauth2-server捆绑使用,并遇到了一个问题.header('location:授权发生后,我正带着我回到谷歌.我正在进行重定向的字符串是
https://developers.google.com/oauthplayground/?state=1&code=d84024740acc22646b9636421406c88abeab9c8e
Run Code Online (Sandbox Code Playgroud)
然而,当我到达它时,&已被替换&为导致操场不进入第2步.发生了什么?
你好善良的互联网人士.
Google OAuth2.0是否支持资源所有者密码凭据流的OAuth流程?......如果是的话,那么:
A.)可以在Google OAuth2 Playground上测试此类OAuth流吗?
B.)是否有使用Google OAuth2.0和Google API的"资源所有者密码凭据流"的任何示例?
根据最近在Oslo NDC 2013中的OAuth演示文稿,此主题流显然会一起跳过授权端点,并直接与OAuth2服务器的令牌端点进行对话.请求语法咒语应该看起来像这样:
grant_type=password&
scope=resource&
user_name=owner&
password=password&
Run Code Online (Sandbox Code Playgroud)
我的理解是资源所有者密码凭据流是针对后端企业类型情况下的可信应用程序(可以安全地存储名称 - 密码对).
此特定OAuth流程不需要最终用户同意交互(不会弹出浏览器以接受,然后获取返回的授权代码等).在该主题流程中,再次直接返回访问和刷新令牌:没有最终用户交互(尽管在输入用户名密码之后).
通过Google OAuth文档(链接到Google OAuth2文档),似乎没有提及类似于资源密码凭据流的任何内容,但不确定是否一定意味着Google明确不支持它.
任何帮助或建议将不胜感激.
提前致谢
我在我的应用程序中使用 Google API,并且 oauth2 刷新令牌在 1 小时后过期。我正在使用此刷新令牌来执行每天运行的任务。我使用 OAuth2 playground 创建了刷新令牌。有没有办法延长刷新令牌的到期时间?(1个月)
我正在尝试测试我对 Youtube Analytics API 的实现,但我自己的 Google 帐户没有任何(高级受众)数据可以提供。
是否有任何公共可用的测试帐户(Youtube 频道),以便我可以检查我的请求(使用有用的响应数据)?
我查找并搜索了其他人,肯定是其他人正在使用API,在身份验证时,我似乎找不到正确的范围参数值:
我已经查看了所有这些作用域列表,没什么,尝试过OAuth 2.0游乐场,没有翻译。
任何线索都欢迎,谢谢。
错误信息:
Error: invalid_request
Missing required parameter: scope
Learn more
Request Details
Run Code Online (Sandbox Code Playgroud)
更新资料
用户Ezra解释说,翻译API不需要OAuth2身份验证。
我沿着这条路走这条路:
我正在尝试使示例代码在这里工作:
而且没有apiclient.discovery模块
from apiclient.discovery import build
Run Code Online (Sandbox Code Playgroud)
我去了寻找那它落在我这里这个快速启动配置 这给了我一个自动生成翻译API项目在这里:
这个应该为Translation API量身定制的入门项目包括一整套OAuth配置,因此由于这里提到的错误,我最终提出了一个问题
exception calling translation api: <HttpError 400 when requesting https://www.googleapis.com/language/translate/v2?q=zebra&source=en&alt=json&target=fr&key=MYSECRETKEYWENTHERE returned "Bad Request">
Run Code Online (Sandbox Code Playgroud)
我用来进行上述调用的代码,这种方式的错误是:
service = build('translate', 'v2',
developerKey='MYSECRETKEYWENTHERE')
result = service.translations().list(
source='en',
target=lang,
q='zebra'
).execute()
Run Code Online (Sandbox Code Playgroud)
如果我直接拨打该错误抱怨的电话,那就可以了
https://www.googleapis.com/language/translate/v2?key=MYSECRETKEYWENTHERE&q=zebra&target=fr&alt=json&source=en
Run Code Online (Sandbox Code Playgroud)
再次更新
好的,我从示例项目中删除了所有OAuth代码,然后再次运行它,最后发现我的密钥中有错字...
感谢您的回答!
。
谢谢
google-app-engine oauth-2.0 google-api-client oauth2client oauth2-playground
我正在尝试使用 localhost/users/auth/google_oauth2/callback 作为重定向 uri,但我不断收到 An error occured while connecting to the server: DNS lookup failed for URL: http://localhost/users/auth/google_oauth2/callback
我正在使用谷歌分析 api 来获取分析数据。我尝试使用以下步骤对其进行身份验证:-> 在https://console.developers.google.com/凭据部分中创建 OAuth 客户端 ID 。-> 在同意屏幕中,我已将发布状态设置为测试 -> 在 OAuth 2.0 Playground 中,我使用上面生成的客户端 ID 和客户端机密获得了刷新令牌 -> 然后我使用它来通过它生成访问令牌。
但是几天后刷新令牌似乎一次又一次地过期,尽管提到刷新令牌的有效期是终身的。
google-analytics google-api oauth2-playground google-developer-tools google-developers-console
我正在尝试实施增量授权我正在尝试在我的应用程序中使用 Google Oauth2
首先,当用户登录时,应用程序会请求一些范围和离线访问。我正在生成刷新令牌并将其存储在数据库中,以便我可以刷新访问令牌以在需要时进行 API 调用。
现在,我将实现一个新功能,该功能将请求新范围,但只有当用户尝试使用此新功能时,我才会请求此范围。
我面临的问题是,当应用程序提示用户同意新范围时,Google 正在请求访问所有先前接受的范围。
我尝试过在没有离线访问的情况下(使用“授予”方法),它似乎有效(正如描述中所说的“向用户请求额外的范围”)。这样做,谷歌只是请求新的范围,并且生成的访问令牌似乎工作正常。但如果我尝试离线访问(使用“grantOfflineAccess”方法),Google 会要求提供所有范围。如果我再次接受所有范围,它会返回一个授权代码,我可以再次生成刷新令牌,但我想只接受新范围。
我想知道在请求离线访问时也许无法做到这一点,因为您需要生成一个具有所有范围的新刷新令牌,但我找不到任何有关此的信息。
我是否做错了什么,或者是否无法通过离线访问来实现此目的?
更新:同样生成 URL(而不是使用 JS 库),如此处所述, Google 要求提供所有范围。这是生成的 URL 的示例:
https://accounts.google.com/o/oauth2/v2/auth?
scope=my_new_scope&
redirect_uri=https://myapp.example.com/callback&
response_type=code&
client_id=my_client_id&
prompt=consent&
include_granted_scopes=true
Run Code Online (Sandbox Code Playgroud)
UPDATE2:我在这里发现了一个报告的问题,有人评论说不可能对已安装的应用程序执行此操作。但有一条评论解释了如何使用 Web 服务器流执行此操作,这些是使用 OAuth2 Playground 的步骤(https://developers.google.com/oauthplayground):
1) 选择 Google 日历范围。
2) 授权访问
3)用代码交换令牌。
4) 向令牌信息端点发出请求: https://www.googleapis.com/oauth2/v2/tokeninfo?access_token = ...
5) 验证令牌是否仅包含 Google 日历范围。
6) 取消选择 Google Calendar 范围并选择 Google Drive 范围。
7) 在授权窗口中编辑 URL 并附加 &include_granted_scopes=true。
8) 授权Drive范围。
9) 将代码兑换为令牌。 …
oauth2-playground google-oauth google-api-js-client google-signin
google-api ×3
google-oauth ×3
oauth-2.0 ×2
laravel ×1
oauth ×1
oauth2client ×1
php ×1
youtube-api ×1