gpt4 book ai didi

Android:如何使用 Graph API 从 Facebook 日历获取 friend 的出生日期

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:33:11 25 4
gpt4 key购买 nike

我正在开发需要所有 friend 出生日期的应用程序。有些人可以分享代码如何使用图形 API 获取所有 friend 的出生日期。我正在使用以下代码:

// start Facebook Login
Session.openActiveSession(this, true, new Session.StatusCallback() {

// callback when session changes state
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {

// make request to the
Request.executeMyFriendsRequestAsync(session, new Request.GraphUserListCallback() {

@Override
public void onCompleted(List<GraphUser> users, Response response) {
//Log.d("AL",""+users.size() + response.toString());
for (int i=0;i<users.size();i++){
Log.d("AL",""+users.get(i).toString());
welcome.setText("Done");
}

}
});
}
}
});

这只是返回好友的名字和 ID。我必须在哪里设置权限才能让 friend 过生日?我是 facebook SDK 的新手。并使用 SDK v3。

graph api 正在返回以下 json 结果

{Response:  responseCode: 200, graphObject: GraphObject{graphObjectClass=GraphObject, state={"data":[{"id":"1580811776","name":"Jamal Abdul Nasir"},{"id":"1610349118","name":"Ahmed Nawaz"}],"paging":{"next":"https:\/\/graph.facebook.com\/100004790803061\/friends?format=json&access_token=AAABtTr8g5U4BANiJdCiBFxQeg0l1eqYYzmSWVM8G1UlyAhTtUrAsoEZAgU19dECXTE2nw7pHIz8bDb7OJGM4wAwzusOVZAQN8yaiYVsQZDZD&limit=5000&offset=5000&__after_id=1610349118"}}}, error: null, isFromCache:false}

没有生日。

最佳答案

首先定义您的回调,如果通过身份验证,您将在其中获得 friend 和生日信息:

Session.StatusCallback statusCallback =  new Session.StatusCallback() {

// callback when session changes state
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
// Private method, to be defined
makeFriendsRequest();
}
}

};

然后,您可以打开 session 并传入必要的“friends_birthday”权限请求:

Session session = new Session(this);
session.openForRead(new Session.OpenRequest(this)
.setCallback(statusCallback)
.setPermissions(Arrays.asList("friends_birthday")));

最后,这是您可以用来获取好友信息(包括生日)的后验证方法:

private void makeFriendsRequest() {
Request myFriendsRequest = Request.newMyFriendsRequest(Session.getActiveSession(),
new Request.GraphUserListCallback() {

@Override
public void onCompleted(List<GraphUser> users, Response response) {
if (response.getError() == null) {
// Handle response
}

}

});
// Add birthday to the list of info to get.
Bundle requestParams = myFriendsRequest.getParameters();
requestParams.putString("fields", "name,birthday");
myFriendsRequest.setParameters(requestParams);
myFriendsRequest.executeAsync();
}

如果您正在寻找实现 Facebook 登录的不同方式,还可以查看与 SDK bundle 在一起的 SessionLoginSample 应用。

关于Android:如何使用 Graph API 从 Facebook 日历获取 friend 的出生日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13984873/

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