Android Google Drive OAuth与CustomTabsInt
我一直在努力让谷歌OAuth在android上工作,我不断遇到障碍 现在,在我的清单中,我为重定向url添加了自定义url方案和主机,如下所示: 当我尝试在Google OAuth intent中使用该URL方案时,出现以下错误: 谷歌搜索之后,我在stackoverflow上找到了答案,告诉我将URL方案重新格式化为Android Google Drive OAuth与CustomTabsInt,android,oauth,google-oauth,deep-linking,android-customtabs,Android,Oauth,Google Oauth,Deep Linking,Android Customtabs,我一直在努力让谷歌OAuth在android上工作,我不断遇到障碍 现在,在我的清单中,我为重定向url添加了自定义url方案和主机,如下所示: 当我尝试在Google OAuth intent中使用该URL方案时,出现以下错误: 谷歌搜索之后,我在stackoverflow上找到了答案,告诉我将URL方案重新格式化为com.myapp.myscheme:/oauth,因此我将重定向uri设置为com.loop.loop:/oauth,因为com.loop是我的包名,loop是我的方案,oa
com.myapp.myscheme:/oauth
,因此我将重定向uri设置为com.loop.loop:/oauth
,因为com.loop
是我的包名,loop
是我的方案,oauth
是我的主机
尝试此操作后,出现以下错误:
这个错误告诉我需要在某个地方注册重定向URI,因此我转到Google API控制台,在那里我注册了我的客户端id。但是,实际上没有地方注册我的重定向URI:
出于某种原因,使用com.loop:/oauth
是可行的,但在授权后不会重定向回我的应用程序。相反,它只是进入谷歌主页
下面是我用来运行chrome自定义选项卡的代码:
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
CustomTabsIntent chromeIntent = builder.build();
chromeIntent.launchUrl(this, Uri.parse(url));
这是我正在使用的OAuth URL:
https://accounts.google.com/o/oauth2/auth
我不知道我应该在这里做什么,文档也不是很有用。我也知道有一个Android Google Auth库,但我对它不感兴趣,因为它是Google特有的,我只是想制作一个通用的OAuth控制器。我也尝试过使用WebView,但Google不允许OAuth通过WebView。请帮帮我吧,我是从中猜出来的 显然,对于google oauth,意图过滤器必须如下所示:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="[YourPackageName]" />
</intent-filter>
将[YourPackageName]
替换为android应用程序的软件包名称,并使用[YourPackageName]:/oauth
作为重定向URL(oauth部分可以命名为任何名称)
所以呢。。。感谢谷歌为我们提供了完美的文档。谢谢