gpt4 book ai didi

android - 如何在 android 中使用社交身份验证访问 facebook 好友列表?

转载 作者:行者123 更新时间:2023-11-29 21:21:56 24 4
gpt4 key购买 nike

我正在使用社交身份验证库进行 facebook 集成。我可以分享/发布文本或图片,但我想访问我的 friend 列表。

是否可以在 android 中通过社交身份验证访问好友列表?

提前致谢...

最佳答案

我正在使用 socialauth 获取 Facebook 中的好友列表。他们有更多关于他们的最新信息 github page wiki .下面的代码是我对 wiki 中示例的改编。我正在获取姓名、个人资料图片和 Facebook id。

在我的 fragment 中:

public class Friends extends SherlockFragment {
private static SocialAuthAdapter facebookAdapter;

我设置了适配器

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
facebookAdapter = new SocialAuthAdapter(new FacebookListener());

稍后在 onCreateView 中我授权用户

facebookAdapter.authorize(getSherlockActivity(), Provider.FACEBOOK);

现在我实现了第一个监听器(他们授权了吗)

private final class FacebookListener implements DialogListener 
{
public void onComplete(Bundle values) {

Log.d("SocialAuth","Successful");
facebookAdapter.getUserProfileAsync(new FacebookProfileDataListener());
Toast.makeText(getSherlockActivity(),"Connection Successful",Toast.LENGTH_LONG).show();


}

@Override
public void onError(SocialAuthError error) {
Log.d("Custom-UI" , "Error");
}

public void onCancel() {
Log.d("Custom-UI" , "Cancelled");
}

@Override
public void onBack() {
// TODO Auto-generated method stub

}


}

现在我得到了个人资料

public final class FacebookProfileDataListener implements org.brickred.socialauth.android.SocialAuthListener<Profile>  {

@Override
public void onError(SocialAuthError arg0) {
// TODO Auto-generated method stub

}

@Override
public void onExecute(String arg0, Profile profile) {
if (profile.getProviderId().equalsIgnoreCase(Provider.FACEBOOK.name())) {
//store some of the profile information here
}
facebookAdapter.getContactListAsync(new FacebookContactDataListener());
}

}

现在是联系人列表

  public final class FacebookContactDataListener implements SocialAuthListener<List<Contact>> {

@Override
public void onError(SocialAuthError arg0) {
// TODO Auto-generated method stub

}

@Override
public void onExecute(String arg0, List<Contact> t) {
List<Contact> contactList = t;
JSONArray listOfIds = new JSONArray();

for (Contact c: contactList) {
listOfIds.put(c.getId());
}
AppDataManager manager = AppDataManager.getInstance(getSherlockActivity());
manager.setFacebookFriendsIds(listOfIds);
manager.setFacebookFriends(contactList);

}

}

此时我有一个可以使用的列表。

关于android - 如何在 android 中使用社交身份验证访问 facebook 好友列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20634328/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com