Почему я продолжаю получать сообщение об ошибке (404) при использовании пакета twitter_api? - PullRequest
0 голосов
/ 02 февраля 2020

Я пытаюсь реализовать «Войти через Twitter» для моего приложения. Я попытался выполнить шаги, упомянутые в документации по API Twitter и документации на pub.dev для пакета twitter_api, но получаю сообщение об ошибке следующим образом:

404
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta http-equiv="Content-Language" content="en-us">
    <meta name="robots" content="noindex, nofollow">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Twitter / ?</title>
    <link href="https://abs.twimg.com/favicons/favicon.ico" rel="shortcut icon" type="image/x-icon">
    <link rel="stylesheet" href="https://abs.twimg.com/errors/fullscreen_errors-4e29aecc89be6d500979e19c3bd72aa2.css">  </head>
  <body>
    <div class="errorpage-topbar">
      <div class="errorpage-global-nav">
        <div class="errorpage-global-nav-inner">
          <div class="errorpage-container">
            <ul class="errorpage-nav">
              <li>
                <a href="https://twitter.com"><img class="errorpage-bird" srcset='https://abs.twimg.com/errors/logo23x19.png 1x, https://abs.twimg.com/errors/logo23x19@2x.png 2x' src="https://abs.twimg.com/errors/logo23x19.png" alt="Twitter"></a>
              </li>
            </ul>
            <div class="errorpage-pull-right">
              <ul class="errorpage-nav">
                <li><a href="https://twitter.com" id="homeLink">Home &rarr;</a></li>
              </ul>
            </div>
          </div>
        </div>
      </div>
    </div>
    <div>
      <div class="errorpage-body-content">

          <h1>Sorry, that page doesn’t exist!</h1>
          <p>You can <a href="https://twitter.com/search-home">search Twitter</a> using the search box below or <a href="https://twitter.com">return to the homepage</a>.</p>
          <form class="search-404" action="https://twitter.com/search" method="get">
            <input id="search_q" name="q" type="text" aria-label="Search query" placeholder="Search for a topic, full 
name, or @username">
            <input class="errorpage-btn" id="search_submit" type="submit" value="Search">
          </form>

        <div class="errorpage-footer">
          <ul class="errorpage-languages">

              <li><a data-language="ar" data-dir="rtl" href="#">العربية</a></li>

              <li><a data-language="bg" data-dir="ltr" href="#">Български език</a></li>

              <li><a data-language="bn" data-dir="ltr" href="#">বাংলা</a></li>

              <li><a data-language="ca" data-dir="ltr" href="#">Català</a></li>

              <li><a data-language="cs" data-dir="ltr" href="#">Čeština</a></li>

              <li><a data-language="da" data-dir="ltr" href="#">Dansk</a></li>

              <li><a data-language="de" data-dir="ltr" href="#">Deutsch</a></li>

              <li><a data-language="el" data-dir="ltr" href="#">Ελληνικά</a></li>

              <li><a data-language="en" data-dir="" href="#">English</a></li>

              <li><a data-language="en-gb" data-dir="ltr" href="#">English UK</a></li>

              <li><a data-language="es" data-dir="ltr" href="#">Español</a></li>

              <li><a data-language="fa" data-dir="rtl" href="#">فارسی</a></li>

              <li><a data-language="fi" data-dir="ltr" href="#">Suomi</a></li>

              <li><a data-language="fil" data-dir="ltr" href="#">Filipino</a></li>

              <li><a data-language="fr" data-dir="ltr" href="#">Français</a></li>

              <li><a data-language="gu" data-dir="ltr" href="#">ગુજરાતી</a></li>

              <li><a data-language="he" data-dir="rtl" href="#">עִבְרִית</a></li>

              <li><a data-language="hi" data-dir="ltr" href="#">हिन्दी</a></li>

              <li><a data-language="hr" data-dir="ltr" href="#">Hrvatski</a></li>

              <li><a data-language="hu" data-dir="ltr" href="#">Magyar</a></li>

              <li><a data-language="id" data-dir="ltr" href="#">Bahasa Indonesia</a></li>

              <li><a data-language="it" data-dir="ltr" href="#">Italiano</a></li>

              <li><a data-language="ja" data-dir="ltr" href="#">日本語</a></li>

              <li><a data-language="kn" data-dir="ltr" href="#">ಕನ್ನಡ</a></li>

              <li><a data-language="ko" data-dir="ltr" href="#">한국어</a></li>

              <li><a data-language="mr" data-dir="ltr" href="#">मराठी</a></li>

              <li><a data-language="msa" data-dir="ltr" href="#">Bahasa Melayu</a></li>

              <li><a data-language="nl" data-dir="ltr" href="#">Nederlands</a></li>

              <li><a data-language="no" data-dir="ltr" href="#">Norsk</a></li>

              <li><a data-language="pl" data-dir="ltr" href="#">Polski</a></li>

              <li><a data-language="pt" data-dir="ltr" href="#">Português</a></li>

              <li><a data-language="ro" data-dir="ltr" href="#">Română</a></li>

              <li><a data-language="ru" data-dir="ltr" href="#">Русский</a></li>

              <li><a data-language="sk" data-dir="ltr" href="#">Slovenčina</a></li>

              <li><a data-language="sr" data-dir="ltr" href="#">Српски</a></li>

              <li><a data-language="sv" data-dir="ltr" href="#">Svenska</a></li>

              <li><a data-language="ta" data-dir="ltr" href="#">தமிழ்</a></li>

              <li><a data-language="th" data-dir="ltr" href="#">ภาษาไทย</a></li>

              <li><a data-language="tr" data-dir="ltr" href="#">Türkçe</a></li>

              <li><a data-language="uk" data-dir="ltr" href="#">Українська мова</a></li>

              <li><a data-language="vi" data-dir="ltr" href="#">Tiếng Việt</a></li>

              <li><a data-language="zh-cn" data-dir="ltr" href="#">简体中文</a></li>

              <li><a data-language="zh-tw" data-dir="ltr" href="#">繁體中文</a></li>

          </ul>
          <ul>
            <li dir="ltr">&copy; Twitter <span id="copyright-year"></span></li>
            <li><a href="https://about.twitter.com/">About</a></li>
            <li><a href="https://support.twitter.com/">Help Center</a></li>
            <li><a href="https://status.twitterstat.us/">Status</a></li>
          </ul>
        </div>
      </div>
    </div>
    <script src="https://abs.twimg.com/errors/404-174a1f1a41465b8e7b205e9551995267.js"></script>
  </body>
</html>

, что в основном равно 404.

Ошибка в формате JSON выглядит следующим образом:

404
{"errors":[{"message":"Sorry, that page does not exist","code":34}]}

Мой код выглядит следующим образом: (Я удалил токены и секреты)

import 'package:twitter_api/twitter_api.dart';

Future main() async {
  String consumerApiKey = "";
  String consumerApiSecret =
      "";
  String accessToken = "";
  String accessTokenSecret = "";

  final _twitterOauth = twitterApi(
    consumerKey: consumerApiKey,
    consumerSecret: consumerApiSecret,
    token: accessToken,
    tokenSecret: accessTokenSecret,
  );

  Future twitterRequest = _twitterOauth.getTwitterRequest(
    "POST",
    "oauth/request_token.json",
    options: {"oauth_callback": "scheme://"},
  );

  var res = await twitterRequest;
  print(res.statusCode);
  print(res.body);
}

Я иду куда-нибудь не так ? Я сломал свой мозг из-за этого, но, похоже, не могу этого понять!

Любая помощь приветствуется! Большое спасибо!

1 Ответ

1 голос
/ 03 февраля 2020

Я получил ответ. Пакет twitter_api имеет базовый URL-адрес для вызова API Twitter, установленный на «https://api.twitter.com/1.1/», а для конечной точки oauth / request_token это «https://api.twitter.com/oauth.request_token».

Там нет 1,1.

...