【问题标题】:How to setup a callback URL for an android application to receive POST requests from an API?如何为 android 应用程序设置回调 URL 以接收来自 API 的 POST 请求?
【发布时间】:2019-01-15 20:01:59
【问题描述】:

我想将 Withings 智能秤集成到我正在开发的 Android 应用中。我正在遵循 withings 开发人员文档here 中的入门说明。为此,我需要注册我的应用程序here,它需要一个“回调 URL”。以下是 Withings 为回调 URL 提供的详细信息:

我们的系统调用的合作伙伴 URL,用于通过 HTTP POST 请求发送通知。确保你的服务器可以处理一个 HTTP HEAD 请求来验证你的 url 的有效性。

您的网址必须:

  • 是一个有效的 URL,以 URL 编码的字符串形式提供。请参阅 w3schools URL 编码参考以了解有关 URL 编码的更多信息。

  • 不超过 255 个字符。

  • 都不包含 IP 或“本地主机”。只允许使用端口 80 和 443。

如何为能够接收 POST 请求的 Android 应用设置回调 URL?

【问题讨论】:

  • 提供一些代码并提供有关问题的更多信息
  • 请直接链接到 Withings 上的文档和/或发布您要离开的文档的副本。
  • 这似乎是一个 Web API,不一定适用于 Android 客户端。
  • 那么有没有办法在安卓应用中使用它?
  • 看起来您需要实现一个 Web 服务器来接收回调 POST 请求并更新您的数据库。然后,您可以从 Android 应用调用服务器以检查更新。

标签: android withings


【解决方案1】:

我正在尝试做类似的事情,下面是一个适合我的解决方案。希望这会有所帮助。

1) 在 Withings 开发者门户中,将回调 URI 注册为:

https://[yourdomain]/callback

将 [yourdomain] 替换为您的域,例如:

https://testtest.azurewebsites.net/callback

2) 在 Android Studio 中

  • 添加一个活动,例如“RedirectHereActivity”
  • 在 strings.xml 中,添加您的域,例如:
 <string name="domain">testtest.azurewebsites.net</string>
  • 在 AndroidManifest.xml 中,将 Intent 过滤器添加到“RedirectHereActivity”
<activity android:name=".RedirectHereActivity">
    <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="@string/domain"
            android:pathPrefix="/callback"
            android:scheme="https"/>
    </intent-filter>
</activity>

这样,回调会连同访问代码一起重定向到这个Activity。

【讨论】:

  • 这个方法可以接受/处理url传递的数据吗?它也适用于发布请求吗?如果是,请您分享您的代码快照。
【解决方案2】:

移动应用程序不能是回调 URL,因为它没有供 API 服务器回调的静态地址。例如,当您从移动网络移动到家庭 wifi 到咖啡店时,您的 Android IP 会发生变化。

您需要的是一个介于移动应用程序和 Auth 端点之间的服务器,它可以安全地传送登录令牌。您可以使用 Auth0 之类的服务找到类似的流程

【讨论】:

  • 谢谢。我会调查的。
猜你喜欢
  • 1970-01-01
  • 2021-06-05
  • 2013-03-12
  • 1970-01-01
  • 2014-12-23
  • 2018-09-27
  • 1970-01-01
  • 2020-02-05
  • 1970-01-01
相关资源
最近更新 更多