我正在尝试开发一个 Android 应用程序,它要求用户使用一些第三方登录 API(例如 Terracycle 登录页面)登录。
从 API 我可以推断,如果我一直在开发一个 Web 应用程序,那么这将是一项简单的任务。我可以使用登录表单来获取用户凭据,然后经过身份验证后,我会将其重定向到我的网站链接。
但是对于 Android 应用程序我该如何做同样的事情。 简而言之,我想在android中使用Terracycle(或者可能是google+)表单进行登录,然后尝试获取身份验证 token 。
我必须使用 WebView 来打开登录表单吗?
如果我使用它,如何阻止它重定向网址并强制它转到重定向 Activity ?
那么如何获取 OAuth 2.0 token ?
谢谢
最佳答案
我假设您指的是 this Terracycle site .
根据他们的 API http://developers.terracycle.co.uk/devportal/docs/getting_started您必须显示一个 WebView 来显示授权屏幕。然后在用户授权后,webview将被重定向到您提供给他们的重定向url。
您使用 WebViewClient
的 shouldOverrideUrlLoading 拦截此调用方法。
public boolean shouldOverrideUrlLoading(WebView view, String url){
// handle by yourself
return true;
}
然后,您可以从代码参数 &code=
中获取代码,然后使用该代码将其发送到 API
POST https://api.terracycle.co.uk/oauth/token
这将为您提供一个可以在所有请求中使用的访问 token 。
关于android - 如何在android中使用API登录页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32123267/