如何为 Android 应用程序设置回调 URL 以接收来自 API 的 POST 请求?

Mat*_*sky 7 android withings

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

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

您的网址必须:

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

  • 不超过 255 个字符。

  • 都不包含 IP 或“localhost”。仅允许使用端口 80 和 443。

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

cri*_*007 7

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

您需要的是位于移动应用程序和身份验证端点之间的服务器,该服务器可以安全地通信登录令牌。您可以使用Auth0等服务找到类似的流程


Xxx*_*Lll 6

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

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

https://[yourdomain]/callback
Run Code Online (Sandbox Code Playgroud)

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

https://testtest.azurewebsites.net/callback
Run Code Online (Sandbox Code Playgroud)

2)在Android Studio中

  • 添加活动,例如“RedirectHereActivity”
  • 在 strings.xml 中,添加您的域,例如:
https://[yourdomain]/callback
Run Code Online (Sandbox Code Playgroud)
  • 在 AndroidManifest.xml 中,将 Intent 过滤器添加到“RedirectHereActivity”
https://testtest.azurewebsites.net/callback
Run Code Online (Sandbox Code Playgroud)

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