Twitter exception4 04:请求的URI无效

时间:2013-02-26 08:29:45

标签: android twitter4j

我想使用我的Android应用程序向用户的粉丝发送直接消息。我尝试过以下代码

      String access_token = mSharedPreferences.getString(
                        Constants.PREF_KEY_OAUTH_TOKEN, "");
                // Access Token Secret
                String access_token_secret = mSharedPreferences.getString(
                        Constants.PREF_KEY_OAUTH_SECRET, "");

                ConfigurationBuilder builder = new ConfigurationBuilder();
                builder.setDebugEnabled(true);
                builder.setOAuthConsumerKey(Constants.TWITTER_CONSUMER_KEY);
                builder.setOAuthConsumerSecret(Constants.TWITTER_CONSUMER_SECRET);
                builder.setOAuthAccessToken(access_token);
                builder.setOAuthAccessTokenSecret(access_token_secret);


                TwitterFactory tf = new TwitterFactory(builder.build());
                Twitter twitter = tf.getInstance();


                DirectMessage message = null;
                try {
                    message = twitter.sendDirectMessage(
                            frndsDetails.get(position).getId(), "Hi");
                    System.out.println("Sent: " + message.getText()
                            + " to @" + message.getRecipientScreenName());

                } catch (TwitterException e) {
                    // TODO Auto-generated catch block
                    Log.e("Twitter exception", "" + e.getMessage());
                    e.printStackTrace();
                }

但得到了以下异常

  

02-26 13:48:16.287:E / Twitter异常(707):404:请求的URI   无效或请求的资源(例如用户)不存在。   当请求的格式不受支持时也会返回   要求的方法。 02-26 13:48:16.287:E / Twitter例外(707):   消息 - 抱歉,该页面不存在02-26 13:48:16.287:   E / Twitter例外(707):代码 - 34 02-26 13:48:16.397:   W / System.err(707):在android.view.View.performClick(View.java:3511)

是否还有其他发送直接留言的方法。请帮帮我。提前谢谢。

1 个答案:

答案 0 :(得分:1)

我在我的应用程序中使用以下代码向关注者发送直接消息。可能这对你有帮助。

StringBuilder builder = new StringBuilder();
builder.append("@").append(twitterFriendObj.screenName).append(" ");
Status status = twitter.updateStatus(builder+"Hi this is test message");

这里我们需要发送关注者屏幕名称来发送直接消息。