我想将Withings智能秤集成到我正在开发的Android应用中。我正在遵循withings开发人员文档here中的入门说明。为此,我需要注册我的应用here,它需要一个“回调URL”。以下是Withings为回调URL提供的详细信息:
我们的系统调用的合作伙伴URL,以通过HTTP POST请求发送通知。确保您的服务器可以处理调用的HTTP HEAD请求,以验证您的网址的有效性。
您的URL必须:
是有效的URL,作为URL编码的字符串提供。请参考w3schools URL编码参考以了解有关URL编码的更多信息。
不得超过255个字符。
都不包含IP或“ localhost”。仅允许端口80和443。
如何为可接收POST请求的Android应用设置回调URL?
答案 0 :(得分:0)
移动应用程序不能是回调URL,因为它没有可供API服务器回调的静态地址。例如,当您从移动网络转移到家庭wifi,再到咖啡店时,Android IP也会更改。
您需要的是移动应用程序和Auth端点之间的服务器,该服务器可以安全地通信登录令牌。您可以使用Auth0
之类的服务找到类似的流程答案 1 :(得分:0)
我正在尝试做类似的事情,下面是一个对我来说很好的解决方案。希望这会有所帮助。
1)在Withings开发人员门户中,将回调URI注册为:
https://[yourdomain]/callback
用您的域替换[您的域],例如:
https://testtest.azurewebsites.net/callback
2)在Android Studio中
<string name="domain">testtest.azurewebsites.net</string>
<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。