Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么在.verifyCredentials()上出现错误_Java_Android_Twitter - Fatal编程技术网

Java 为什么在.verifyCredentials()上出现错误

Java 为什么在.verifyCredentials()上出现错误,java,android,twitter,Java,Android,Twitter,我想使用twitter的fabric api获取数据,但每当我试图验证凭据并使用回调时,就会显示错误,特别是“参数长度不同” void getUserData(){ getApiClient(会话).getAccountService() .verifyCredentials(真、假、新回调(){ @凌驾 公共无效失败(Twittere异常){ } @凌驾 public void成功(Result userResult){ User=userResult.data; 字符串twitterImag

我想使用twitter的fabric api获取数据,但每当我试图验证凭据并使用回调时,就会显示错误,特别是“参数长度不同”

void getUserData(){
getApiClient(会话).getAccountService()
.verifyCredentials(真、假、新回调(){
@凌驾
公共无效失败(Twittere异常){
}
@凌驾
public void成功(Result userResult){
User=userResult.data;
字符串twitterImage=user.profileImageUrl;
试一试{
Log.d(“imageurl”,user.profileImageUrl);
Log.d(“名称”,用户名);
Log.d(“电子邮件”,user.email);
Log.d(“des”,用户描述);
Log.d(“followers”,String.valueOf(user.followerscont));
Log.d(“createdAt”,user.createdAt);
}捕获(例外e){
e、 printStackTrace();
}
}
});
}

只需更改Build.Gradle中的twitter依赖项即可 从


.verifyCredentials()方法的新版本不接受回调,因此出现错误。

如果您查看fabric文档,它会显示该方法的两个版本,但是当我尝试在Android Studio中打开源代码时,它只有没有回调的版本

您可以按以下方式解决问题:

//Getting the account service of the user logged in
Call<User> call = Twitter.getApiClient(session).getAccountService()
        .verifyCredentials(true, false);
call.enqueue(new Callback<User>() {
        @Override
        public void failure(TwitterException e) {
            //If any error occurs handle it here
        }
        @Override
        public void success(Result<User> userResult) {
            //If it succeeds creating a User object from userResult.data
            User user = userResult.data;
                    String twitterImage = user.profileImageUrl;

                    try {
                        Log.d("imageurl", user.profileImageUrl);
                        Log.d("name", user.name);
                        Log.d("email",user.email);
                        Log.d("des", user.description);
                        Log.d("followers ", String.valueOf(user.followersCount));
                        Log.d("createdAt", user.createdAt);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
        }
    });
//获取登录用户的帐户服务
Call Call=Twitter.getApiClient(会话).getAccountService()
.验证凭证(正确、错误);
call.enqueue(新回调(){
@凌驾
公共无效失败(Twittere异常){
//如果发生任何错误,请在此处处理
}
@凌驾
public void成功(Result userResult){
//如果它成功地从userResult.data创建用户对象
User=userResult.data;
字符串twitterImage=user.profileImageUrl;
试一试{
Log.d(“imageurl”,user.profileImageUrl);
Log.d(“名称”,用户名);
Log.d(“电子邮件”,user.email);
Log.d(“des”,用户描述);
Log.d(“followers”,String.valueOf(user.followerscont));
Log.d(“createdAt”,user.createdAt);
}捕获(例外e){
e、 printStackTrace();
}
}
});


error,class或enum unexpectedIt实际上是一个编译时错误。如果从依赖项中删除
@aar
,则不需要将transitive设置为true。例如,现在SDK已经更改,它有一个名为“includeEmail”的额外参数
verifyCredentials
。我应该将其设置为真还是假?它还能做什么?它以前是怎么工作的?是真是假?
compile('com.twitter.sdk.android:twitter:2.0.0@aar') {
    transitive = true;
}
compile('com.twitter.sdk.android:twitter:1.11.0@aar') {
    transitive = true;
}
//Getting the account service of the user logged in
Call<User> call = Twitter.getApiClient(session).getAccountService()
        .verifyCredentials(true, false);
call.enqueue(new Callback<User>() {
        @Override
        public void failure(TwitterException e) {
            //If any error occurs handle it here
        }
        @Override
        public void success(Result<User> userResult) {
            //If it succeeds creating a User object from userResult.data
            User user = userResult.data;
                    String twitterImage = user.profileImageUrl;

                    try {
                        Log.d("imageurl", user.profileImageUrl);
                        Log.d("name", user.name);
                        Log.d("email",user.email);
                        Log.d("des", user.description);
                        Log.d("followers ", String.valueOf(user.followersCount));
                        Log.d("createdAt", user.createdAt);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
        }
    });