Войти через фейсбук в андроид
Сейчас я работаю над входом через фейсбук. Для этого я использую Android SDK 3.0. В моем приложении я должен получить идентификатор электронной почты пользователей. Я использую следующий код, чтобы получить идентификатор электронной почты, но не могу получить. Можете ли вы дать мне какое-либо предложение, я делаю неправильно. Каждый раз, когда я собираюсь расстаться.
loginButton = (LoginButton) findViewById(R.id.authButton);
// for error on login
loginButton.setOnErrorListener(new OnErrorListener() {
public void onError(FacebookException error) {
Log.i(TAG, "Error " + error.getMessage());
}
});
// loginButton.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO);
// set permission list, Don't forget to add email
loginButton.setReadPermissions(Arrays.asList("basic_info", "email"));
// session state call back event
loginButton.setSessionStatusCallback(new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state,
Exception exception) {
if (session.isOpened()) {
Log.i(TAG, "Access Token" + session.getAccessToken());
Request.executeMeRequestAsync(session,
new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user,
Response response) {
if (user != null) {
Log.d(TAG, "User ID " + user.getId());
Log.d(TAG,
"Email "
+ user.asMap().get(
"email"));
}
}
});
} else {
Log.d("session is not valid", ""
+ Session.getActiveSession().getState());
}
}
});
1 ответ
Вы можете использовать это, чтобы получить ключ
PackageInfo info = getPackageManager().getPackageInfo(
"Your Pakage name",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
ключ будет отображаться в журнале.
Еще одна вещь (на основе вашего комментария) заключается в том, что вы должны попробовать SVN, чтобы ваша команда могла работать над одним проектом без каких-либо конфликтов.