对问题的回答:facebook redirect_uri set to ios URL Scheme并未解决我的问题。为什么redirect_uri为facebook登录的自定义方案不起作用?
试图实现的Android的WebView Facebook登录(使用Facebook的SDK工作,但要实现它的WebView出于某种原因):
private void launchFacebookOauth() {
// intent
Intent intent = new Intent(Intent.ACTION_VIEW, getAuthorizationUri());
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
finish();
}
public Uri getAuthorizationUri() {
final String CLIENT_ID = "client_id";
final String RESPONSE_TYPE = "response_type";
final String REDIRECT_URI = "redirect_uri";
final String CODE = "code";
Map<String, String> params = new HashMap<>();
params.put(CLIENT_ID, clientId);
params.put(RESPONSE_TYPE, CODE);
params.put(REDIRECT_URI, redirectUri);
Request request = new Request.Builder().url(AUTHORIZATION_ENDPOINT_URL).build();
HttpUrl.Builder builder = request.url().newBuilder();
for (Map.Entry<String, String> param : params.entrySet()) {
builder.addQueryParameter(param.getKey(), param.getValue());
}
HttpUrl httpUrl = builder.build();
return Uri.parse(httpUrl.toString());
}
使用方案:http://
或https://
为REDIRECT_URI,Android的节目对话框可以从MyTestApp &浏览器中选择(不要这种行为)。因此,试图用自定义方案:fb12345678
&主机hovermind.com
<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:scheme="fb12345678" android:host="hovermind.com"/>
</intent-filter> .
REDIRECT_URI:fb12345678://hovermind.com
得到错误的网页视图:
灿” t加载网址:该网址的域不包含在该应用的 域中。要加载此网址,请将您的 应用的所有网域和子网域添加到应用设置中的应用域名字段。
仅供参考,hovermind.com
已添加到“应用程序域”部分和“有效的OAuth重定向URI”部分(开发人员仪表板)中。当试图在有效的OAuth重定向URI部分中添加fb12345678://hovermind.com
时,Facebook会显示错误对话框。
如何从WebView(Facebook登录)使用自定义redirect_uri方案laucnh我的应用程序?
不想使用
App Links
或者(分SDK> = 23和服务器的配置问题)