回答问题:facebook redirect_uri set to ios URL Scheme没有解决我的问题。
尝试在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());
}
对redirect_uri使用方案:http://
或https://
时,Android会显示对话框,可从MyTestApp&amp;浏览器(不想要这种行为)。因此,尝试使用自定义方案:fb12345678
&amp;主持人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
在WebView中获取错误:
无法加载网址:此网址的域名未包含在应用内容中 域。要加载此网址,请添加您的所有域和子域 应用程序设置中的应用程序域字段的应用程序。
仅供参考,“{1}}已添加到应用领域&#39;部分和&#39;有效的OAuth重定向URI&#39;部分(开发人员仪表板)。尝试在“有效OAuth重定向URI”部分中添加hovermind.com
时,Facebook会显示错误对话框。
如何使用WebView(Facebook登录)中的自定义redirect_uri方案来实现我的应用程序?
不想使用
fb12345678://hovermind.com
(min.SDK&gt; = 23和服务器配置问题)