OAuth 2.0 是否总是需要浏览器在流程中
Does OAuth 2.0 always require a browser in the flow
我可以在没有浏览器(或我的应用程序中的嵌入式浏览器)的情况下使用 OAuth 2.0 执行夜间上传吗?
设置 我有来自提供商控制台的刷新令牌和访问令牌-- Google 驱动器 API
我希望使用 Java SDK use/reuse 这些来上传数据,而不需要任何浏览器授权,一旦我最初收到我的 refresh/access 令牌。
是的。这正是使用刷新令牌进行无人值守访问的意义所在。当用户授予该应用程序权限时,他会被特别提示“......即使你没有登录”(或类似的,我不记得确切的措辞)。您会将刷新令牌存储在服务器上的某个位置,然后在您的应用需要执行操作时使用它来请求访问令牌。
只是为了澄清你问题中的一些措辞,刷新和访问令牌不成对,所以说 "reuse these",实际上应该是 "reuse this",其中 'this'是刷新令牌。
OAuth 2.0 需要浏览器一次获得用户同意
需要一个浏览器,以便用户可以同意应用程序访问用户数据的请求。
用户同意与应用共享数据后,应用可以在没有基于浏览器的流程下使用刷新令牌。
记录在此处:https://developers.google.com/accounts/docs/OAuth2WebServer
非浏览器应用的替代方案
您可以使用 OAuth 2.0 for Devices 流程:
您的应用程序可以充当从 google 查询代码的设备,将其显示给用户,并要求用户浏览到验证 URL(例如,使用 (system.out.println... ).
所以还是需要浏览器,但是你的应用本身不需要给用户提供网页。
我可以在没有浏览器(或我的应用程序中的嵌入式浏览器)的情况下使用 OAuth 2.0 执行夜间上传吗?
设置 我有来自提供商控制台的刷新令牌和访问令牌-- Google 驱动器 API
我希望使用 Java SDK use/reuse 这些来上传数据,而不需要任何浏览器授权,一旦我最初收到我的 refresh/access 令牌。
是的。这正是使用刷新令牌进行无人值守访问的意义所在。当用户授予该应用程序权限时,他会被特别提示“......即使你没有登录”(或类似的,我不记得确切的措辞)。您会将刷新令牌存储在服务器上的某个位置,然后在您的应用需要执行操作时使用它来请求访问令牌。
只是为了澄清你问题中的一些措辞,刷新和访问令牌不成对,所以说 "reuse these",实际上应该是 "reuse this",其中 'this'是刷新令牌。
OAuth 2.0 需要浏览器一次获得用户同意
需要一个浏览器,以便用户可以同意应用程序访问用户数据的请求。 用户同意与应用共享数据后,应用可以在没有基于浏览器的流程下使用刷新令牌。
记录在此处:https://developers.google.com/accounts/docs/OAuth2WebServer
非浏览器应用的替代方案
您可以使用 OAuth 2.0 for Devices 流程: 您的应用程序可以充当从 google 查询代码的设备,将其显示给用户,并要求用户浏览到验证 URL(例如,使用 (system.out.println... ).
所以还是需要浏览器,但是你的应用本身不需要给用户提供网页。