0

我正在开发一个可以访问外部 API 的 Android 应用程序。要访问 API,需要实现 OAuth2 协议。我已经设置了所有东西,我的 API 调用来获取授权代码正在工作,但没有返回任何内容。

原因在我的 Callback_url。我已经在我的 Manifest、Activity 和 API EndPoint 设置中建立了连接。callback_url 设置为以下格式“ https://xxxxxxxxx.com ”。

但是,指定的回调 URL 不在生产环境中,因此它不会将验证程序返回给应用程序。在本地开发应用程序时,是否有临时解决方案来获取验证器代码?

4

2 回答 2

1

根据 Patel 的回答,我可以建议您查看构建变体:

https://developer.android.com/studio/build/build-variants.html

并在您的代码中输入如下内容:

if (BuildConfig.FLAVOR.equals("production")) {
    //do something for production
}else {
    //do something for test
}
于 2018-03-08T09:42:50.907 回答
0

我为开发目的设置了一个 callback_uri,“ http://locallhost.com/ ”。这适用于网络浏览器,但不适用于模拟器。所以我的配置应该有问题..

发送的Request是正确的,所以我的MainActivity中的参数是正确的。在 FitBit 开发者页面的应用程序设置中,我已经正确设置了所有参数。

我做的最后一件事是在我的 Android 清单文件中包含 Internet 权限和意图过滤器。

意图过滤器如下:

<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="http://locallhost.com/"
                    android:scheme="oauth"/>
            </intent-filter>

我的意图过滤器是否正确?

我是不是忘记了什么?

  • 互联网许可

  • 应用程序设置端点

  • 配置活动

  • 在清单中配置意图过滤器

于 2018-03-09T09:53:57.810 回答