Ahm*_*waz 6 android facebook facebook-graph-api
我正在申请需要所有朋友的出生日期的申请.有些人可以使用图形API分享如何获取所有朋友的出生日期的代码.我正在使用以下代码:
// 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");
}
}
});
}
}
});
Run Code Online (Sandbox Code Playgroud)
这只是回复朋友的名字和身份.我必须设置权限才能获得朋友生日?我是facebook SDK的新手.并使用SDK v3.
图形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}
Run Code Online (Sandbox Code Playgroud)
哪个没有生日.
C A*_*thy 13
首先定义你的回调,你会得到朋友和生日信息,如果经过身份验证:
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();
}
}
};
Run Code Online (Sandbox Code Playgroud)
然后,您可以打开会话并传递必要的"friends_birthday"权限请求:
Session session = new Session(this);
session.openForRead(new Session.OpenRequest(this)
.setCallback(statusCallback)
.setPermissions(Arrays.asList("friends_birthday")));
Run Code Online (Sandbox Code Playgroud)
最后,这里是您可以用来获取朋友信息的后验证方法,包括生日:
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();
}
Run Code Online (Sandbox Code Playgroud)
如果您正在寻找可以实现Facebook登录的不同方法,还可以查看与SDK捆绑在一起的SessionLoginSample应用程序.
| 归档时间: |
|
| 查看次数: |
4941 次 |
| 最近记录: |