如何让Facebook的权限在Facebook的SDK-3.0访问用户数据 [英] How to give Facebook permission for accessing user data in facebook-sdk-3.0
问题描述
我正在开发中,我使用的Facebook
登录来进行验证和内容的应用程序。 的Facebook SDK 3.0
需要访问如个人资料图片,EMAILID,publish_stram等如何给在code权限访问这些东西的用户数据的一些权限。直到现在,我能够获得 fb_access_token
。这是我的code:
I'm developing an application in which I'm using Facebook
login for authentication and stuff. facebook sdk 3.0
needs some permission for accessing user data such as profile picture, emailID,publish_stram and etc. How to give permission in the code for accessing those things. Till now I'm able to get fb_access_token
. Here is my code:
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 /me API
Request.executeMeRequestAsync(session,
new Request.GraphUserCallback() {
// callback after Graph API response with
// user
// object
@Override
public void onCompleted(GraphUser user,
Response response) {
if (user != null) {
fb_user_id = user.getId();
}
Session session = Session
.getActiveSession();
if (session.isOpened()) {
access_token = session
.getAccessToken();
}
new postFBData().execute();
}
});
}
}
});
摘自Facebook的样品本code段。如何从FB访问 access_token
之前授予权限?
任何帮助将AP preciated。
Any help will be appreciated.
推荐答案
调用Session.openActiveSession只会给你基本的权限(除非你已经要求额外的)。您还需要分开读取和发布权限请求。
Calling Session.openActiveSession will only give you basic permissions (until you've requested additional ones). You also need to separate the read and publish permission requests.
在你的情况,我会做这样的事情:
In your case, I would do something like:
Session session = // create a new Session using Session.Builder
Session.OpenRequest openRequest = // create an OpenRequest using Session.OpenRequest
openRequest.setPermissions( READ_PERMISSION_LIST );
session.openForRead(openRequest);
Session.setActiveSession(session);
然后,一旦你打开了会议,
Then, once you've opened the session,
// check if you already have publish permissions first
if (!Session.getActiveSession.getPermissions.contains("publish_stream")) {
Session.NewPermissionsRequest permissionRequest = // create a NewPermissionsRequest
permissionRequest.setPermissions( PUBLISH_PERMISSION_LIST);
Session.getActiveSession().requestNewPublishPermissions(permissionRequest);
}
这篇关于如何让Facebook的权限在Facebook的SDK-3.0访问用户数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!