错误的身份验证数据QuickBlox-Android
我正在使用这个SDK登录Facebook。我访问了stackoverflow上的一些帮助性链接,但对我没有帮助。这是我的代码片段错误的身份验证数据QuickBlox-Android,android,quickblox,Android,Quickblox,我正在使用这个SDK登录Facebook。我访问了stackoverflow上的一些帮助性链接,但对我没有帮助。这是我的代码片段 QBAuth.createSession(new QBEntityCallbackImpl<QBSession>() { @Override public void onSuccess(QBSession session, Bundle params) { String token = session.getToken();
QBAuth.createSession(new QBEntityCallbackImpl<QBSession>() {
@Override
public void onSuccess(QBSession session, Bundle params) {
String token = session.getToken();
QBUsers.signInUsingSocialProvider(QBProvider.FACEBOOK, token, null, new QBEntityCallbackImpl<QBUser>() {
@Override
public void onSuccess(QBUser user, Bundle args) {
Toast.makeText(getApplicationContext() , "Success" ,Toast.LENGTH_SHORT).show();
}
@Override
public void onError(List<String> errors) {
Toast.makeText(getApplicationContext() , "onError" ,Toast.LENGTH_SHORT).show();
}
});
}
@Override
public void onError(List<String> errors) {
}
});
你用错了代币
它应该是Facebook的代币
请使用本指南将Facebook SDK集成到您的应用程序中
最后我得到了上述问题的答案,我在方法QBUsers.signingSocialProvider()中传递了错误的AccessToken。我需要在使用成功登录facebook后获得AccessToken
AccessToken accessToken = loginResult.getAccessToken();
然后我需要在QBUsers.signingSocialProvider()中传递此accessToken
这是我的完整代码:
LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
AccessToken accessToken = loginResult.getAccessToken();
facebooklogin(accessToken);
}
@Override
public void onCancel() {
// App code
Toast.makeText(getApplicationContext(), "Cancel", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(FacebookException exception) {
// App code
Toast.makeText(getApplicationContext(), "Error-Check Network Connection", Toast.LENGTH_SHORT).show();
}
});
public void facebooklogin(final AccessToken accessToken) {
QBAuth.createSession(new QBEntityCallbackImpl<QBSession>() {
@Override
public void onSuccess(QBSession session, Bundle params) {
String token = accessToken.getToken();
QBUsers.signInUsingSocialProvider(QBProvider.FACEBOOK, token, null, new QBEntityCallbackImpl<QBUser>() {
@Override
public void onSuccess(QBUser user, Bundle args) {
Toast.makeText(getApplicationContext(), "Success QB", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(List<String> errors) {
Toast.makeText(getApplicationContext(), "onError QB", Toast.LENGTH_SHORT).show();
}
});
}
@Override
public void onError(List<String> errors) {
Toast.makeText(getApplicationContext(), "onError", Toast.LENGTH_SHORT).show();
}
});
}
LoginManager.getInstance().registerCallback(callbackManager,new FacebookCallback()){
@凌驾
成功时公共无效(LoginResult LoginResult){
AccessToken AccessToken=loginResult.getAccessToken();
facebooklogin(accessToken);
}
@凌驾
公开作废{
//应用程序代码
Toast.makeText(getApplicationContext(),“Cancel”,Toast.LENGTH\u SHORT.show();
}
@凌驾
public void onError(facebook异常){
//应用程序代码
Toast.makeText(getApplicationContext(),“错误检查网络连接”,Toast.LENGTH_SHORT.show();
}
});
public void facebook登录(最终访问令牌访问令牌){
createSession(新的QBEntityCallbackImpl(){
@凌驾
成功时公共无效(QBSession会话,Bundle参数){
String token=accessToken.getToken();
signInUsingSocialProvider(QBProvider.FACEBOOK,token,null,新的QBEntityCallbackImpl(){
@凌驾
成功时公共无效(QBUser用户、捆绑参数){
Toast.makeText(getApplicationContext(),“Success QB”,Toast.LENGTH_SHORT.show();
}
@凌驾
公共无效onError(列表错误){
Toast.makeText(getApplicationContext(),“onError QB”,Toast.LENGTH_SHORT.show();
}
});
}
@凌驾
公共无效onError(列表错误){
Toast.makeText(getApplicationContext(),“onError”,Toast.LENGTH\u SHORT.show();
}
});
}
谢谢您的回答。我已在一天内解决了此问题:)。我正在使用贴纸库版本0.8.2。我这里有个问题。这里是链接。请帮帮我。
LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
AccessToken accessToken = loginResult.getAccessToken();
facebooklogin(accessToken);
}
@Override
public void onCancel() {
// App code
Toast.makeText(getApplicationContext(), "Cancel", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(FacebookException exception) {
// App code
Toast.makeText(getApplicationContext(), "Error-Check Network Connection", Toast.LENGTH_SHORT).show();
}
});
public void facebooklogin(final AccessToken accessToken) {
QBAuth.createSession(new QBEntityCallbackImpl<QBSession>() {
@Override
public void onSuccess(QBSession session, Bundle params) {
String token = accessToken.getToken();
QBUsers.signInUsingSocialProvider(QBProvider.FACEBOOK, token, null, new QBEntityCallbackImpl<QBUser>() {
@Override
public void onSuccess(QBUser user, Bundle args) {
Toast.makeText(getApplicationContext(), "Success QB", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(List<String> errors) {
Toast.makeText(getApplicationContext(), "onError QB", Toast.LENGTH_SHORT).show();
}
});
}
@Override
public void onError(List<String> errors) {
Toast.makeText(getApplicationContext(), "onError", Toast.LENGTH_SHORT).show();
}
});
}