我已将 Facebook 集成到我的 Android 应用程序中。现在我想获取信息,例如仅由我的应用程序发布的特定帖子。
我怎样才能做到这一点 ?请帮忙。
已编辑。
在我的应用程序中,用户可以将消息发布到他的墙上。我想要的是用户的朋友是否也使用相同的应用程序并通过应用程序发布消息。
所以我想从他的墙上检索所有通过应用程序(由他和他的朋友)制作的用户消息。
我已将 Facebook 集成到我的 Android 应用程序中。现在我想获取信息,例如仅由我的应用程序发布的特定帖子。
我怎样才能做到这一点 ?请帮忙。
已编辑。
在我的应用程序中,用户可以将消息发布到他的墙上。我想要的是用户的朋友是否也使用相同的应用程序并通过应用程序发布消息。
所以我想从他的墙上检索所有通过应用程序(由他和他的朋友)制作的用户消息。
好的,我自己解决了问题。我使用fql来检索我需要的信息。
这就是我使用fql的方式。用于从我的墙上检索消息和其他数据(仅通过我的应用程序生成的那些)。
private String getWallInfo()
{
try
{
Bundle params = new Bundle();
params.putString("method", "fql.query");
params.putString("query", "SELECT post_id, actor_id, app_id, message FROM stream where source_id = me() and app_id = "
+ ConnectData.APP_ID);
String response = facebook.request(params);
Log.i(TAG, "response = " + response);
return response;
} catch (MalformedURLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
return null;
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
用于从我的朋友墙上检索消息和其他数据(仅限通过我的应用程序制作的那些)。
private String getFriendsWallInfo()
{
try
{
Bundle params = new Bundle();
params.putString("method", "fql.query");
params.putString("query",
"SELECT post_id, actor_id, app_id, message FROM stream WHERE source_id IN (SELECT uid2 FROM friend WHERE uid1 = me()) AND app_id="
+ ConnectData.APP_ID);
String response = facebook.request(params);
Log.i(TAG, "response = " + response);
return response;
} catch (MalformedURLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
return null;
} catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}