我一直在搜索如何在没有任何身份验证或登录的情况下从Facebook检索公共用户时间线。我找到的最简单的库是facebook4j,但我无法弄清楚如何实现我的目标(不要#39;了解访问令牌)。 我使用twitter4j实现了我的Twitter目标,我的代码如下:
class TweetFetch extends AsyncTask<String,String,Void>{
private String convertedSingerName;
private ArrayAdapter<String> nameAdapter;
String user;
ProgressDialog loadDialog;
@Override
protected void onPreExecute() {
//get a loading animation
/*loadDialog = new ProgressDialog(getApplicationContext());
loadDialog.setMessage("Loading...");
loadDialog.setCancelable(false);
loadDialog.show();*/
setProgressBarIndeterminateVisibility(true);
convertedSingerName = Normalizer.normalize(singerName, Normalizer.Form.NFD);
convertedSingerName = convertedSingerName.replaceAll("[^\\p{ASCII}]", "");
convertedSingerName = convertedSingerName.replaceAll("\\s", "");
user = convertedSingerName;
nameAdapter = (ArrayAdapter<String>) tweetList.getAdapter();
getTweetOAuthDetails();
}
@Override
protected Void doInBackground(String... params) {
try{
Paging page = new Paging(1, 50);//page number, number per page
statuses = twitter.getUserTimeline(user, page);
Log.i("Status count ", statuses.size() + " Feeds");
for (int i=0 ; i<statuses.size() ; i++){
twitter4j.Status status = statuses.get(i);
publishProgress(status.getText());
Log.i("Tweet Count" + (i+1), status.getText() + "\n\n");
}
}catch (TwitterException te){
te.printStackTrace();
}
return null;
}
@Override
protected void onProgressUpdate(String... values) {
nameAdapter.add(values[0]);
}
@Override
protected void onPostExecute(Void aVoid) {
//loadDialog.dismiss();
setProgressBarIndeterminateVisibility(false);
}
}
无论如何,我可以使用facebook4j for Facebook使用相同的方法。如果使用facebook4j无法实现这一点,那么最简单的方法是什么。 感谢。