小编Nie*_*ngh的帖子

API Callback_URL 无效调用

我刚刚开始在 Android 上使用 Strava API。为了使用它,我首先需要成功设置 OAuth2。为此,我选择使用 Scribe 库,因为我在之前的实现中使用过它。

身份验证发生在 MainActivity 的 onCreate() 方法中。测试应用程序使用 MainActivity 旁边的两个类。StravaOAuth20ServiceImpl 用于配置令牌的 API 请求和撤销令牌。StravaOAuth2Api 包含 API 的端点。这些看起来不错。

我没有从回调中得到代码。这就是我被困住的地方。为了发挥作用,需要在 Strava、Android Manifest 和 API EndPoint 调用的开发人员设置中正确设置回调。

我目前正在开发模式下工作。网站上注明“localhost127.0.0.1已列入白名单”,所以我在我的callback_url 中使用了这些。对于这两者,我得到以下 JSON 作为响应:

{
"message": "Bad Request",
"errors": [
{
"resource": "Application",
"field": "redirect_uri",
"code": "invalid"
}
]
}
Run Code Online (Sandbox Code Playgroud)

所以这两个调用都是无效的。

- https://www.strava.com/oauth/authorize?response_type=code&client_id=25016&redirect_uri=127.0.0.1

- https://www.strava.com/oauth/authorize?response_type=code&client_id=25016&redirect_uri=localhost
Run Code Online (Sandbox Code Playgroud)

一个相关的问题是关于callback_url 的形式。我对 FitBit 做了同样的事情,并使用了“ http://callback_myapplication ”形式的回调。为此,我必须在 Android 清单中设置“主机”和“方案”(请参阅​​下面的代码)。当我尝试在应用程序设置中执行此操作时,收到一条错误消息“字段必须是域,没有//”(请参阅​​下面的打印屏幕)。这是我第一次看到这个。那么是没有“scheme”的回调吗?

<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <action android:name="android.intent.action.VIEW"/>
        <category android:name="android.intent.category.LAUNCHER" />
        <category android:name="android.intent.category.DEFAULT"/>
        <category …
Run Code Online (Sandbox Code Playgroud)

android web-services callback oauth-2.0

5
推荐指数
1
解决办法
2086
查看次数

标签 统计

android ×1

callback ×1

oauth-2.0 ×1

web-services ×1