尝试通过Javascript在twitter上发布推文时返回的响应代码401

尝试通过Javascript在twitter上发布推文时返回的响应代码401,javascript,twitter,Javascript,Twitter,您好,我正在寻找一些帮助,请使用javascript和twitter API从我的网站向twitter发布推文 我已经创建了一个小的TestReact应用程序,它允许用户编写一些文本,附加一个图像,并选择一个时间表(日期和时间),在twitter上发布一条推特到我的时间线上。但是,当我单击post按钮时,控制台中出现401错误。我曾尝试使用axios和我发现的“oauth”npm软件包发布这条推文,但都没有成功 下面是我为测试发布tweet而编写的两个函数。任何帮助都将不胜感激 Axios呼叫

您好,我正在寻找一些帮助,请使用javascript和twitter API从我的网站向twitter发布推文

我已经创建了一个小的TestReact应用程序,它允许用户编写一些文本,附加一个图像,并选择一个时间表(日期和时间),在twitter上发布一条推特到我的时间线上。但是,当我单击post按钮时,控制台中出现401错误。我曾尝试使用axios和我发现的“oauth”npm软件包发布这条推文,但都没有成功

下面是我为测试发布tweet而编写的两个函数。任何帮助都将不胜感激

Axios呼叫

const getTweetsAxios = () => {
    const url =
      "https://api.twitter.com/labs/1/users?usernames=MyTwitterUserName&format=detailed";
    const config = {
      accept: "*/*",
      authorization:
        "Bearer " + MyBearerToken,
      "Access-Control-Allow-Origin": "https://localhost:3000",
      "Access-Control-Allow-Credentials": true
    };

    axios
      .get(url, config)
      .then(response => {
        console.log("response: ", response);
      })
      .catch(error => {
        console.log("error: ", error);
      });
  };
const getTweetsOAuth = () => {
    const credentials = {
      consumer_key: "My Consumer Key Here",
      consumer_secret: "My Consumer Secret Here",
      access_token: "My Access Token Here",
      access_token_secret: "My Secret Token Here"
    };

    const oauth = new OAuth.OAuth(
      "https://api.twitter.com/oauth/request_token",
      "https://api.twitter.com/oauth/access_token",
      credentials.consumer_key,
      credentials.consumer_secret,
      "1.0A",
      null,
      "HMAC-SHA1"
    );

    oauth.get(
      "https://api.twitter.com/labs/1/users",
      credentials.access_token,
      credentials.access_token_secret,
      function(e, data, results) {
        console.log("e: ", e);
        console.log("data: ", data);
        console.log("results: ", results);
      }
    );
  };
OAuth呼叫

const getTweetsAxios = () => {
    const url =
      "https://api.twitter.com/labs/1/users?usernames=MyTwitterUserName&format=detailed";
    const config = {
      accept: "*/*",
      authorization:
        "Bearer " + MyBearerToken,
      "Access-Control-Allow-Origin": "https://localhost:3000",
      "Access-Control-Allow-Credentials": true
    };

    axios
      .get(url, config)
      .then(response => {
        console.log("response: ", response);
      })
      .catch(error => {
        console.log("error: ", error);
      });
  };
const getTweetsOAuth = () => {
    const credentials = {
      consumer_key: "My Consumer Key Here",
      consumer_secret: "My Consumer Secret Here",
      access_token: "My Access Token Here",
      access_token_secret: "My Secret Token Here"
    };

    const oauth = new OAuth.OAuth(
      "https://api.twitter.com/oauth/request_token",
      "https://api.twitter.com/oauth/access_token",
      credentials.consumer_key,
      credentials.consumer_secret,
      "1.0A",
      null,
      "HMAC-SHA1"
    );

    oauth.get(
      "https://api.twitter.com/labs/1/users",
      credentials.access_token,
      credentials.access_token_secret,
      function(e, data, results) {
        console.log("e: ", e);
        console.log("data: ", data);
        console.log("results: ", results);
      }
    );
  };

我在这里看不到您的代码中有发布新Tweet的调用;仅调用以检索用户对象。此外,Twitter API不支持CORS,因此这在客户端Javascript中不起作用。该调用被代理到Twitter,因此CORS不是浏览器的问题。我先从数据检索开始,以证明它可以工作,然后再添加发帖呼叫;仅调用以检索用户对象。此外,Twitter API不支持CORS,因此这在客户端Javascript中不起作用。该调用被代理到Twitter,因此CORS不是浏览器的问题。我先从数据检索开始,以证明它可以工作,然后再添加投递呼叫。