【问题标题】:While fetching facebook data it throws facebook network exception and java.net.MalformedURLException: no protocol: me/feed?在获取 facebook 数据时,它会引发 facebook 网络异常和 java.net.MalformedURLException: no protocol: me/feed?
【发布时间】:2018-02-05 00:35:03
【问题描述】:
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(DefaultFacebookC
  lient.java:1024)
    at 
 com.restfb.DefaultFacebookClient.fetchConnectionPage(DefaultFacebookClient.java
    :374)
    at main.main(main.java:26)

    Caused by: java.net.MalformedURLException: no protocol: me/feed
    at java.net.URL.<init>(URL.java:585)
    at java.net.URL.<init>(URL.java:482)
    at java.net.URL.<init>(URL.java:431)
    at com.restfb.DefaultWebRequestor.execute(DefaultWebRequestor.java:365)
    at com.restfb.DefaultWebRequestor.executeGet(DefaultWebRequestor.java:96)
    at 

  com.restfb.DefaultFacebookClient$2.makeRequest(DefaultFacebookClient.java:377)
    at 
 com.restfb.DefaultFacebookClient.makeRequestAndProcessResponse(DefaultFacebookC
   lient.java:1022)
    ... 2 more

   Java Result: 1
   BUILD SUCCESSFUL (total time: 0 seconds)

这是我的错误 当我尝试在我的应用程序上获取 user_posts 时,请求不会发送 适当地。如何解决?

    /*
    * To change this license header, choose License Headers in Project
    Properties.
    * To change this template file, choose Tools | Templates
    * and open the template in the editor.
    */

    /**
    *
    * @author User
    */
    import com.restfb.Connection;
    import com.restfb.DefaultFacebookClient;
    import com.restfb.FacebookClient;
    import com.restfb.types.Post;
    import java.util.*;

    public class main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        String accesstoken="EAACEdEose0cBAAXB6i9nmi0VJSZCHI******************";        
        FacebookClient fbclient=new DefaultFacebookClient(accesstoken);
        Connection<Post> result=fbclient.fetchConnectionPage("me/feed", 
                                                               Post.class);        
        int counter=0;

        for(List<Post>page : result)
        {
         for(Post aPost:page)
         {
          System.out.println(aPost.getMessage());
          System.out.print(aPost.getId());
          counter++;        
         }
        }
        System.out.println(" counter "+counter);

    }

   }

在此代码中,访问令牌是从开发人员选项中获得的。

【问题讨论】:

    标签: java facebook api facebook-graph-api


    【解决方案1】:

    根据 fetchConnectionPage (http://restfb.com/javadoc-2/com/restfb/DefaultFacebookClient.html#fetchConnectionPage-java.lang.String-java.lang.Class-) 的 RestFB API,您需要传入正确的 URL。

    所以基本上就在这一行:

    Connection<Post> result=fbclient.fetchConnectionPage("me/feed", Post.class);
    

    您需要传入一个完整的 URL,而不是传递“me/feed”,例如“http://facebook.com/me/feed”或该 URL 应该是什么。

    MalformedURLException 也暗示了这一点,因为您传递的应该是 URL;这暗示您没有提供准确的 URL。

    【讨论】:

    • 超级该异常已清除,但仍显示线程“主”com.restfb.exception.FacebookNetworkException 中的异常错误:尝试与 Facebook 通信时发生网络错误:Facebook 请求失败(HTTP 状态代码 301) 在 com.restfb.DefaultFacebookClient.makeRequestAndProcessResponse(DefaultFacebookClient.java:1035) 在 com.restfb.DefaultFacebookClient.fetchConnectionPage(DefaultFacebookClient.java:374) 在 main.main(main.java:25) Java 结果:1跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多