试图从 facebook returns 中检索 FriendList null
trying to retrieve FriendList from facebook returns null
我是Android的新手。我正在尝试从 Facebook
中检索我的 FriendsList
。我没有得到好友列表,因为我从 json 数组中得到的数据总是空的。我已阅读有关设置权限以检索好友列表的信息,但我不明白在哪里以及如何设置它。谁能帮我解决这个问题。由于我是初学者,请逐步指导我。我的代码如下:
我已将缺少的权限添加如下:
mFacebook.authorize(MainActivity.this, new String[] { "user_friends" },
new LoginDialogListener());
但结果仍然为空。
MainActivity.java
public Facebook mFacebook = new Facebook(mAPP_ID);
public void getme()
{
// TODO Auto-generated method stub
Session activeSession = mFacebook.getSession();
if(activeSession.getState().isOpened())
{
final AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(mFacebook);
mAsyncRunner.request("me/friends", new FriendListRequestListener());
}
}
FriendsListRequestListener.java
public class FriendListRequestListener implements RequestListener {
@Override
public void onComplete(String response, Object state) {
// TODO Auto-generated method stub
try
{
JSONObject json = Util.parseJson(response);
final JSONArray friends = json.getJSONArray("data");
Log.i("jjj",""+friends);
}
catch(JSONException exception)
{
Log.e("err", ""+exception.toString());
}
}
@Override
public void onIOException(IOException e, Object state) {
// TODO Auto-generated method stub
}
@Override
public void onFileNotFoundException(FileNotFoundException e, Object state) {
// TODO Auto-generated method stub
}
@Override
public void onMalformedURLException(MalformedURLException e, Object state) {
// TODO Auto-generated method stub
}
@Override
public void onFacebookError(FacebookError e, Object state) {
// TODO Auto-generated method stub
}
}
这里有一些关于 Facebook 权限的信息:
https://developers.facebook.com/docs/facebook-login/permissions/v2.3
可能对你有用。注意user_friend权限。
自 Graph v2.0 以来 API,出于隐私原因,/me/friends
只有 returns 位朋友也授权了您的应用程序。
更多信息:Facebook Graph Api v2.0+ - /me/friends returns empty, or only friends who also use my app
我是Android的新手。我正在尝试从 Facebook
中检索我的 FriendsList
。我没有得到好友列表,因为我从 json 数组中得到的数据总是空的。我已阅读有关设置权限以检索好友列表的信息,但我不明白在哪里以及如何设置它。谁能帮我解决这个问题。由于我是初学者,请逐步指导我。我的代码如下:
我已将缺少的权限添加如下:
mFacebook.authorize(MainActivity.this, new String[] { "user_friends" },
new LoginDialogListener());
但结果仍然为空。
MainActivity.java
public Facebook mFacebook = new Facebook(mAPP_ID);
public void getme()
{
// TODO Auto-generated method stub
Session activeSession = mFacebook.getSession();
if(activeSession.getState().isOpened())
{
final AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(mFacebook);
mAsyncRunner.request("me/friends", new FriendListRequestListener());
}
}
FriendsListRequestListener.java
public class FriendListRequestListener implements RequestListener {
@Override
public void onComplete(String response, Object state) {
// TODO Auto-generated method stub
try
{
JSONObject json = Util.parseJson(response);
final JSONArray friends = json.getJSONArray("data");
Log.i("jjj",""+friends);
}
catch(JSONException exception)
{
Log.e("err", ""+exception.toString());
}
}
@Override
public void onIOException(IOException e, Object state) {
// TODO Auto-generated method stub
}
@Override
public void onFileNotFoundException(FileNotFoundException e, Object state) {
// TODO Auto-generated method stub
}
@Override
public void onMalformedURLException(MalformedURLException e, Object state) {
// TODO Auto-generated method stub
}
@Override
public void onFacebookError(FacebookError e, Object state) {
// TODO Auto-generated method stub
}
}
这里有一些关于 Facebook 权限的信息: https://developers.facebook.com/docs/facebook-login/permissions/v2.3 可能对你有用。注意user_friend权限。
自 Graph v2.0 以来 API,出于隐私原因,/me/friends
只有 returns 位朋友也授权了您的应用程序。
更多信息:Facebook Graph Api v2.0+ - /me/friends returns empty, or only friends who also use my app