2016-03-03 23 views
0

我想我的應用程序連接到Facebook API,但我得到以下情況例外,當我執行的代碼連接到Facebook API:FacebookNetworkException試圖通過RestFB

Exception in thread "main" com.restfb.exception.FacebookNetworkException: A network error occurred while trying to communicate with Facebook: Facebook request failed (HTTP status code null) 
    at com.restfb.DefaultFacebookClient.makeRequestAndProcessResponse(DefaultFacebookClient.java:1024) 
    at com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:952) 
    at com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:914) 
    at com.restfb.DefaultFacebookClient.fetchObject(DefaultFacebookClient.java:392) 
    at Test.main(Test.java:18) 
Caused by: java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext) 
    at javax.net.ssl.DefaultSSLSocketFactory.throwException(Unknown Source) 
    at javax.net.ssl.DefaultSSLSocketFactory.createSocket(Unknown Source) 
    at sun.net.www.protocol.https.HttpsClient.createSocket(Unknown Source) 
    at sun.net.NetworkClient.doConnect(Unknown Source) 
    at sun.net.www.http.HttpClient.openServer(Unknown Source) 
    at sun.net.www.http.HttpClient.openServer(Unknown Source) 
    at sun.net.www.protocol.https.HttpsClient.<init>(Unknown Source) 
    at sun.net.www.protocol.https.HttpsClient.New(Unknown Source) 
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source) 
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source) 
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source) 
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source) 
    at com.restfb.DefaultWebRequestor.execute(DefaultWebRequestor.java:374) 
    at com.restfb.DefaultWebRequestor.executeGet(DefaultWebRequestor.java:96) 
    at com.restfb.DefaultFacebookClient$3.makeRequest(DefaultFacebookClient.java:965) 
    at com.restfb.DefaultFacebookClient.makeRequestAndProcessResponse(DefaultFacebookClient.java:1022) 
    ... 4 more 
Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext) 
    at java.security.Provider$Service.newInstance(Unknown Source) 
    at sun.security.jca.GetInstance.getInstance(Unknown Source) 
    at sun.security.jca.GetInstance.getInstance(Unknown Source) 
    at javax.net.ssl.SSLContext.getInstance(Unknown Source) 
    at javax.net.ssl.SSLContext.getDefault(Unknown Source) 
    at javax.net.ssl.SSLSocketFactory.getDefault(Unknown Source) 
    at javax.net.ssl.HttpsURLConnection.getDefaultSSLSocketFactory(Unknown Source) 
    at javax.net.ssl.HttpsURLConnection.<init>(Unknown Source) 
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.<init>(Unknown Source) 
    at sun.net.www.protocol.https.Handler.openConnection(Unknown Source) 
    at sun.net.www.protocol.https.Handler.openConnection(Unknown Source) 
    at java.net.URL.openConnection(Unknown Source) 
    at com.restfb.DefaultWebRequestor.openConnection(DefaultWebRequestor.java:219) 
    at com.restfb.DefaultWebRequestor.execute(DefaultWebRequestor.java:365) 
    ... 7 more 
Caused by: java.io.IOException: Invalid keystore format 
    at sun.security.provider.JavaKeyStore.engineLoad(Unknown Source) 
    at sun.security.provider.JavaKeyStore$JKS.engineLoad(Unknown Source) 
    at sun.security.provider.KeyStoreDelegator.engineLoad(Unknown Source) 
    at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(Unknown Source) 
    at java.security.KeyStore.load(Unknown Source) 
    at sun.security.ssl.TrustManagerFactoryImpl.getCacertsKeyStore(Unknown Source) 
    at sun.security.ssl.SSLContextImpl$DefaultSSLContext.getDefaultTrustManager(Unknown Source) 
    at sun.security.ssl.SSLContextImpl$DefaultSSLContext.<init>(Unknown Source) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    ... 21 more 

我認爲這是非常重要的提及我在嘗試使用facebook4j運行代碼時遇到了相同的異常

我花了很多時間試圖弄清楚,而且我很困難。

代碼測試類:

import com.restfb.DefaultFacebookClient; 
import com.restfb.FacebookClient; 
import com.restfb.Version; 
import com.restfb.types.User; 

public class Test { 

    public Test() { 
    } 

    public static void main(String[] args) { 

     String accessToken = "******"; 

     FacebookClient fc = new DefaultFacebookClient(accessToken, Version.UNVERSIONED); // Setting version has no effect 

     User me = fc.fetchObject("me", User.class); 

     System.out.println(me.getFirstName()); 
     System.out.println(me.getLanguages()); 
    } 

} 
+0

你的工作站和Facebook之間是否有代理服務器? – Norbert

+0

不是。這是一個直接的連接 –

回答

0

好吧,我試圖運行不同的機器上的代碼,它出來,有與開發環境的設置的問題。