【问题标题】:I am trying to share a video to twitter but getting error Failed to search tweets: 403:我正在尝试将视频分享到 Twitter,但出现错误无法搜索推文:403:
【发布时间】:2016-07-31 15:17:15
【问题描述】:

我正在使用 twitter4j-core-4.0.4.jar。

这是我的代码

ConfigurationBuilder builder = new ConfigurationBuilder();
       builder.setUserStreamRepliesAllEnabled(true);
       builder.setOAuthConsumerKey("myConusmerKey");
        builder.setOAuthConsumerSecret("myConsumerSecret");

        AccessToken accessToken = new AccessToken(pref.getString("ACCESS_TOKEN", ""), pref.getString("ACCESS_TOKEN_SECRET", ""));
        Twitter twitter = new TwitterFactory(builder.build()).getInstance(accessToken);
    File file = new File(picturePath);
                StatusUpdate statusUpdate = new StatusUpdate(messageText.getText().toString());
                    Uri uri = Uri.parse(picturePath);
                    InputStream is = ScribbleFragment.this.getContentResolver().openInputStream(uri);
                    Log.d("Logger", "Sending media");
                    statusUpdate.setMedia(picturePath, is);
                    Log.d("Successfully sent media", "Sent media");

                status = twitter.updateStatus(statusUpdate);    

return status.toString();

这是我得到的回复,我用谷歌搜索了它,但我没有找到任何答案

W/System.err: Failed to search tweets: 403:The request is understood, but it has been refused. An accompanying error message will explain why. This code is used when requests are being denied due to update limits (https://support.twitter.com/articles/15364-about-twitter-limits-update-api-dm-and-following). W/System.err: message - Error creating status. W/System.err: code - 189

【问题讨论】:

    标签: android video twitter share twitter4j


    【解决方案1】:

    https://en.wikipedia.org/wiki/HTTP_403

    这可能与您的访问凭据有关。检查您如何获取访问令牌并确保其有效,因为 403 通常是一个错误,表示您无权(禁止)访问数据。

    【讨论】:

      【解决方案2】:

      我认为您的 Consumer Key 和 Consumer Secret 设置不正确。您应该将它们设置为来自 Twitter 的值(或调用 getString 来检索它们)。目前,它们都被硬编码为一个看起来不正确的值。

      【讨论】:

      • 我只使用生成的密钥。
      • 目前您将它们设置为“myConsumerKey”和“myConsumerSecret”。我怀疑它们是 Twitter 分配给您的应用程序的字符串。
      • builder.setOAuthConsumerKey("HuxTZu8Cwc64RgpZIMfx3r8Kk"); builder.setOAuthConsumerSecret("ZOSaJA6APCV8AuvXbrLuR6oyUEUL3YjvwPsyrrpYFVVFii4vjr");
      • 好的,我假设您发布的代码是您实际运行的代码,因为您使用 pref.getString 作为访问令牌。在这种情况下,请检查您是否按照 Stefan 的建议在 Twitter 上为您的应用请求了正确的访问级别。
      • 我正在检查日志,如果是问题,我会回复您。
      猜你喜欢
      • 2013-04-11
      • 2022-11-11
      • 2014-01-21
      • 2019-03-21
      • 1970-01-01
      • 2018-08-06
      • 1970-01-01
      • 2022-11-13
      • 2013-08-30
      相关资源
      最近更新 更多