4

Facebook ログインを自分の Web サイトに統合しようとしています。これが私のコードの一部です:

public void socialConnect() throws Exception {
    Properties props = System.getProperties();
    props.put("graph.facebook.com.consumer_key", "561379830565954");
    props.put("graph.facebook.com.consumer_secret", "883e8d729d0358b4040fbffa762d832d");
    props.put("graph.facebook.com.custom_permissions", "publish_stream,email,user_birthday,user_location,offline_access");
    SocialAuthConfig config = SocialAuthConfig.getDefault();
    config.load(props);
    manager = new SocialAuthManager();
    manager.setSocialAuthConfig(config);
    ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
    String successURL = externalContext.getRequestContextPath() + "/socialLoginSuccess.xhtml";
    String authenticationURL = manager.getAuthenticationUrl(providerID, successURL);
    FacesContext.getCurrentInstance().getExternalContext().redirect(authenticationURL);
}

次のエラーが表示されます。

{
  "error": {
    "message": "redirect_uri isn't an absolute URI. Check RFC 3986.",
    "type": "OAuthException",
    "code": 191
  }
}

redirectct_uri はどうあるべきですか? どうすれば修正できますか?

ありがとう

4

1 に答える 1

5

プロトコル( )、ドメイン、パスなどを含むredirect_uri完全修飾 URL である必要があります。http(s)://

デスクトップ アプリケーションを作成している場合、C# でデスクトップ アプリケーションのブラウザーなしで facebook をログイン/認証する方法によると、デスクトップ アプリケーションの明示的なサポートはありませんが、回避策があります (その質問で概説されています)。

于 2013-07-11T21:39:18.997 に答える