【问题标题】:No information available for Provided link in Twitter Status update APITwitter 状态更新 API 中提供的链接没有可用信息
【发布时间】:2014-02-03 13:01:58
【问题描述】:

我正在开发一个需要在 Twitter 帐户上发送推文的应用程序。我能够成功登录并获取用户的详细信息。但是,当我尝试更新 Twitter 的状态代码时。它会引发运行时异常,如下所示:-

java.lang.IllegalStateException: Authentication credentials are missing. See http://twitter4j.org/configuration.html for the detail.

在异常中显示的甚至 url 不可用。这真是令人困惑。 我正在使用以下代码。请帮忙。

 AccessToken accessToken = getAccessToken();
         ConfigurationBuilder cb = new ConfigurationBuilder();
         cb.setDebugEnabled(true)
           .setOAuthConsumerKey(CONSUMER_KEY)
           .setOAuthConsumerSecret(CONSUMER_SECRET)
           .setOAuthAccessToken(accessToken.getToken())
           .setOAuthAccessTokenSecret(accessToken.getTokenSecret());
         TwitterFactory tf = new TwitterFactory(cb.build());
         Twitter twitter = tf.getSingleton();
        // twitter.setOAuthAccessToken(accessToken);
        String latestStatus = "Hello Dude";
        try {

            twitter4j.Status status = twitter.updateStatus(latestStatus);
            Toast.makeText(HomeActivity.this, "Successfully tweet==="+status.getText(), Toast.LENGTH_LONG).show();
        } catch (Exception e) {
            // TODO: handle exception
            System.out.println("Exception in Ststus update in android=="+e.getMessage());
        }

【问题讨论】:

    标签: android twitter status tweets


    【解决方案1】:

    我正在使用相同的库在 Twitter 上发送推文。您可能有错误的代码才能正常工作。

    请参考这里发送推文: Twitter4J

    还可以查看我下面的代码,以了解有关如何处理 twitter 错误响应的更多信息。

    代码:

    private final TwDialogListener mTwLoginDialogListener = new TwDialogListener() {
        @Override
        public void onComplete(String value) {
    
            //Toast.makeText(getApplicationContext(), "Login successfull", Toast.LENGTH_SHORT).show();
            try {
                StatusUpdate status = new StatusUpdate("Posting from Twitter application...");
                //status.media(new File(sPhotoPATH));
                mTwitter.updateStatus(status);
                //Toast.makeText(getApplicationContext(), "Login successfull", Toast.LENGTH_SHORT).show();
                //getFriendListForApp();
    
    
            } catch (Exception e) {
                Toast.makeText(getApplicationContext(), "Fail to connect Twitter", Toast.LENGTH_SHORT).show();  
                e.printStackTrace();
            }
    
    
            //getFriendListForApp();
        }
        @Override
        public void onError(String value) {
    
            Toast.makeText(MainActivity.this, "Fail to connect Twitter", Toast.LENGTH_LONG).show();
            finish();
        }
    };
    

    另一个是:

    public void updateStatus(final StatusUpdate status) throws Exception {
        mProgressDlg.setMessage("Posting...");
        mProgressDlg.show();
        new Thread(new Runnable() {
    
            @Override
            public void run() {
                int i = 0;
                try {
                    mTwitter.updateStatus(status);
                    i = 0;
                } catch (TwitterException e) {
                    e.printStackTrace();
                    System.out.println("Not Posted: In Catch");
    
                    message = e.getErrorMessage();
                    System.out.println("MESSAGE:::: "+message);
                    //asdasd
                    //Toast.makeText(context, ""+e.getMessage(), Toast.LENGTH_SHORT).show();
                    //e.getMessage();
                    i= 1;
                }
    
                mPostHandler.sendEmptyMessage(i);
            }
        }).start();
    }
    

    如果您对此有任何疑问,请告诉我。

    享受编码... :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-12
      • 2012-01-11
      • 2015-01-19
      • 2011-04-03
      • 1970-01-01
      • 1970-01-01
      • 2011-05-27
      相关资源
      最近更新 更多