對問題的回答: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和服務器的配置問題)