gpt4 book ai didi

Android 重定向 uri

转载 作者:太空狗 更新时间:2023-10-29 13:15:18 24 4
gpt4 key购买 nike

我正在使用 instagram API,但我不明白我应该为重定向 API 输入什么。目前我只是输入 https://127.0.0.1

但是我不是很懂。此外,一旦我看到允许/取消屏幕并按下允许,它就会给我一个错误,提示我无法前往该地址,但我还可以看到该地址上附加的授权码。那么如何从我的重定向 uri 重定向回来呢?我如何告诉 android 在用户点击允许返回应用程序后使用代码进行进一步的身份验证?

我确定您会说一些类似制作我自己的自定义方案/Intent 过滤器等的内容,但请多支持我新的,我不明白,我确实对它们进行了研究。

我的简历方法如下

@Override
protected void onResume() {
super.onResume();

// the intent filter defined in AndroidManifest will handle the return from ACTION_VIEW intent
Uri uri = getIntent().getData();
if (uri != null && uri.toString().startsWith(redirectUri)) {
// use the parameter your API exposes for the code (mostly it's "code")
String code = uri.getQueryParameter("code");
if (code != null) {
// get access token
LoginService loginService =
ServiceGenerator.createService(LoginService.class, clientId, clientSecret);
AccessToken accessToken = loginService.getAccessToken(code, "authorization_code");
} else if (uri.getQueryParameter("error") != null) {
// show an error message here
}
}
}

这是我处理 Intent 过滤器的 list fragment :

        <activity
android:name=".LoginActivity"
android:label="@string/title_activity_login" >
<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="redirecturi"
android:scheme="your" />
</intent-filter>
</activity>

最佳答案

你必须在浏览器 View 上设置一个事件监听器,如果 URL 等于 redirect_uri,则检查 URL 参数中的 code,然后使用 向 auth URL 发出 POST 请求>codeclient_secret 在 Instagram 身份验证中记录

像这样:

webView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
String code = url.getQueryParameter("code");
// ...
}
});

关于Android 重定向 uri,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35374225/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com