0
林一個問題,當我嘗試用臉書籤署得到的日誌貓以下Facebook的令牌返回其Android空
07-11 10:15:07.757: W/com.facebook.Session(8910): Should not pass a read permission (user_likes) to a request for publish or manage authorization
07-11 10:15:07.772: W/com.facebook.Session(8910): Should not pass a read permission (email) to a request for publish or manage authorization
07-11 10:15:07.777: W/com.facebook.Session(8910): Should not pass a read permission (user_birthday) to a request for publish or manage authorization
07-11 10:15:07.787: W/com.facebook.Session(8910): Should not pass a read permission (user_location) to a request for publish or manage authorization
07-11 10:15:08.797: V/log_tag(8910): Token=
07-11 10:15:08.797: V/log_tag(8910): Token=false
我跟着Facebook的 的適當的文件甚至用代碼來生成SHA鍵,把它放在控制檯 禁用沙盒 使臉書登錄 禁用深層鏈接 但仍是我用臉書沒有運氣 守則以下
facebookBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Session.openActiveSession(SignIn_Rewards.this, true, new Session.StatusCallback() {
// callback when session changes state
@Override
public void call(Session session, SessionState state,
Exception exception) {
Log.v("log_tag", "Token=" + session.getAccessToken());
Log.v("log_tag", "Token=" + session.isOpened());
Session currentSession = Session.getActiveSession();
if (currentSession == null || currentSession.getState().isClosed())
{
session = new Session.Builder(SignIn_Rewards.this).build();
Session.setActiveSession(session);
currentSession = session;
}
else if(!currentSession.isOpened())
{
//Ask for username and password
OpenRequest op = new Session.OpenRequest(SignIn_Rewards.this);
op.setLoginBehavior(SessionLoginBehavior.SSO_WITH_FALLBACK);
op.setCallback(null);
List<String> permissions = new ArrayList<String>();
permissions.add("publish_stream");
permissions.add("user_likes");
permissions.add("email");
permissions.add("user_birthday");
permissions.add("user_location");
op.setPermissions(permissions);
session = new Session.Builder(SignIn_Rewards.this).build();
Session.setActiveSession(session);
session.openForPublish(op);
}
else 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) {
/* TextView welcome = (TextView) findViewById(R.id.welcome);
welcome.setText("Hello "
+ user.getName() + "!");*/
finish();
Log.d("User Name",""+user.getName()+" "+user.getFirstName()+" "+user.getLastName()+" "+user.getProperty("email")+user.getBirthday()+user.getLocation().getProperty("name"));
}
}
});
}
}
});
}
}) ;
請糾正我在哪裏我錯了
這是否有幫助:http://stackoverflow.com/questions/15357811/how-to-integrate-facebook-in-my-android-application或http:///stackoverflow.com/questions/15153312/facebook-login-cannot-pass-a-publish-or-manage-permission-email-to-a-request-f – Slartibartfast
沒有與那個運氣 –
您沒有發佈完整代碼,所以我不能確定,但是Session.open最常見的原因是沒有做任何事情,因爲你並沒有重寫onActivityResult方法來將結果傳遞給活動會話。 –