2016-09-29 89 views
0

我正在构建一个Android应用程序,该应用程序集成了Fitbit以获取用户数据。Fitbit API集成使用oAuth 2.0与chrome自定义选项卡android

为了整合FitBit,我使用了自定义Chrome标签。当传递uri时,它重定向到访问页面,但是当我点击'允许'时,它会显示错误并且不会重定向到我定义意图过滤器的活动。

我面临与redirect_uri问题。我没有任何服务器,所以我把REDIRECT_URI为******:// logincallback

 <activity android:name=".ChromeCustomTabActivity"> 
     <action android:name="android.intent.action.VIEW" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
     <category android:name="android.intent.category.BROWSABLE" /> 

     <data 
      android:host="logincallback" 
      android:scheme="******" /> 
    </activity> 

enter image description here

enter image description here

解决

<activity android:name=".ChromeCustomTabActivity"> 
     <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:host="logincallback" 
      android:scheme="******" /> 
     </intent-filter> 
    </activity> 

回答

1

的redirect_uri必须与应用程序设置(回调URL)中指定的值完全匹配。回调网址应该是fitbit可访问的公共API,可以是系统中本地托管的网站网址。

检查:

https://dev.fitbit.com/docs/oauth2/#redirect-uris

+0

手段? 如果我把resirect uri设置为'myapplication:// logincallback',那么同样应该在回调URL中。右击? –

+0

如果您使用FitBit API集成的区域产品可以提供代码片段和示例fitbit回调URL? –

+0

是的同样应该在回调网址 – Manav