java - Facebook4j API : Search

标签 java android facebook

我正在使用 Facebook4j 通过关键字获取状态

 facebook4j.conf.ConfigurationBuilder fac = new facebook4j.conf.ConfigurationBuilder();

            fac.setDebugEnabled(true)
              .setOAuthAppId("******")
              .setOAuthAppSecret("********")
              .setOAuthPermissions("email,publish_stream,...");
            FacebookFactory ff = new FacebookFactory(fac.build());
           facebook = ff.getInstance();
           new Thread(new Runnable() { 
               @Override
               public void run() {
                   try {
                       search();
                   }
                   catch (Exception e) {
                    // TODO: handle exception
                       System.out.println(e +" ERROOOOOOR");
                }}}).start();
}
//search
public void search() throws Exception {
         ResponseList<JSONObject> results = facebook.search("%23morocco");
         System.out.println(results);
         for (JSONObject result : results) {
             System.out.println(result);
         }

         results = facebook.search("orange", new Reading().until("yesterday"));
         System.out.println(results);
         for (JSONObject result : results) {
             System.out.println(result);
         }
     }

我用 facebook api key 替换了 * 我有一个异常问题,错误是: java.lang.IllegalStateException:没有可用的 token 。错了

最佳答案

这就是您可以在没有外部配置文件的情况下使用 facebook4j 的方式。下面的代码提供了一个最小的例子。这是我的简单演示:

import facebook4j.Facebook;
import facebook4j.FacebookException;
import facebook4j.FacebookFactory;
import facebook4j.auth.AccessToken;

public class Facebook4JMinimalExample {

/**
 * A simple Facebook4J client.
 * 
 * 
 * @param args
 * @throws FacebookException 
 */
public static void main(String[] args) throws FacebookException {

// Generate facebook instance.
Facebook facebook = new FacebookFactory().getInstance();
// Use default values for oauth app id.
facebook.setOAuthAppId("", "");
// Get an access token from: 
// https://developers.facebook.com/tools/explorer
// Copy and paste it below.
String accessTokenString = "PASTE_YOUR_ACCESS_TOKEN_STRING_HERE";
AccessToken at = new AccessToken(accessTokenString);
// Set access token.
facebook.setOAuthAccessToken(at);

// We're done.
// Write some stuff to your wall.
facebook.postStatusMessage("Wow, it works...");
}
}

请注意,首先调用“facebook.setOAuthAppId(..)”然后设置访问 token 很重要。否则你会得到一个 IllegalStateException 说“OAuth app id/secret combination not supplied”。

在这种情况下,我只使用了 OAuthAppId 的默认值。

关于java - Facebook4j API : Search,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17986045/

相关文章:

android - 联系人代码从 4.0.3 分离

facebook - 邀请 friend 喜欢新时间线的 FB 页面?

ios - 身份验证后的 Facebook iOS SDK Feed 对话框问题

java - 允许通知 Android webview

java - 代码正在生成灰色屏幕

java - JSOUP 提取 href 标题

javascript - 刷新包含类似 facebook 按钮的 div

Java:如何使用命令行打开程序并进行交互

java - 如果文件名包含空格,我们如何在 Android 中使用 URLConnection 下载?

java - 是否可以使用 Achartengine 绘制多个堆叠条形图?