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