【问题标题】:Fetch twitter data in android using parse.com使用 parse.com 在 android 中获取 twitter 数据
【发布时间】:2015-10-12 23:35:15
【问题描述】:

使用 parse 成功登录后需要获取 twitter 用户配置文件数据。请参考以下代码:

ParseTwitterUtils.logIn(SignupActivity.this, new LogInCallback() {
        @Override
        public void done(ParseUser parseUser, ParseException e) {
            if (parseUser == null) {
                Log.d("MyApp", "Uh oh. The user cancelled the Twitter login.");
            } else if (parseUser.isNew()) {
                Log.d("MyApp", "User signed up and logged in through Twitter!");
            } else {
                Log.d("MyApp", "User logged in through Twitter!");
            }
        }
    });

我试图从登录后返回的 Parseuser 对象中获取值,但它显示为空。 建议登录后我应该做什么。

谢谢

【问题讨论】:

    标签: android twitter parse-platform


    【解决方案1】:

    首先:您确定您已登录吗?要验证这一点,请确保在您的控制台中有“用户通过 Twitter 登录!”的日志,如果是,您可以添加:

    String twitter = ParseTwitterUtils.getTwitter().getScreenName(); Log.d(MainActivity.class.getSimpleName(), twitter + "");

    在你的 else if 和 else 块下,或者你可以用这个替换你的代码:

    ParseTwitterUtils.logIn(SignupActivity.this, new LogInCallback() { @Override public void done(ParseUser parseUser, ParseException e) { if (parseUser == null) { Log.d("MyApp", "Uh oh. The user cancelled the Twitter login."); } else if (parseUser.isNew()) { Log.d("MyApp", "User signed up and logged in through Twitter!"); String twitter = ParseTwitterUtils.getTwitter().getScreenName(); Log.d(MainActivity.class.getSimpleName(), twitter + ""); } else { Log.d("MyApp", "User logged in through Twitter!"); String twitter = ParseTwitterUtils.getTwitter().getScreenName(); Log.d(MainActivity.class.getSimpleName(), twitter + ""); } } });

    如果您的课程不是“MainActivity”,请在 Log.d 中键入它。

    如果你在唱歌时遇到困难,你也可以试试这个:

    user = new ParseUser();
    user.setUsername("Username");
    user.setPassword("password");
    user.setEmail("email@example.com");
    
    user.signUpInBackground(new SignUpCallback() {
        public void done(ParseException e) {
            if (e == null) {
                // Hooray! Let them use the app now.
            } else {
                // Sign up didn't succeed. Look at the ParseException
                // to figure out what went wrong
            }
        }
    });
    
    
    if (!ParseTwitterUtils.isLinked(user)) {
        ParseTwitterUtils.link(user, this, new SaveCallback() {
            @Override
            public void done(ParseException ex) {
                if (ParseTwitterUtils.isLinked(user)) {
                    Log.d("MyApp", "Woohoo, user logged in with Twitter!");
    
                    String twitter = ParseTwitterUtils.getTwitter().getScreenName();
                    Log.d(MainActivity.class.getSimpleName(), twitter + "");
                }
            }
        });
    }
    

    定义“ParseUser 用户;”在 onCreate 方法之外。

    【讨论】:

    • @Agosttinelli 感谢您的详细解释。但我无法获取除 getScreenName() 之外的其他详细信息。如何获取用户个人资料图片、电子邮件、生日、性别等。
    • 好吧,在这里你可以找到 ParseTwitterUtils 类的文档:parse.com/docs/android/api/com/parse/… 但是如果你想要 profile_image、电子邮件等……你必须使用 Twitter REST API:dev.twitter.com/rest/public 并制作例如使用 OkHttp 库进行查询,并以 JSON 格式获取数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多