Итак, насколько я понимаю, вы можете получить доступ к API Twitter с помощью простого сервера узлов. Первоначально я думал, что это сложно, но на самом деле не о чем беспокоиться.
Вы можете запустить программу вашего узла с созданием директории проекта
mkdir server
cd server
npm init
touch server.js
, установить twit api и express jsв свой проект узла
npm install twit body-parser cors express
создайте приложение для Twitter на странице разработчиков Twitter https://apps.twitter.com/
, затем скопируйте и вставьте этот код в файл server.js, который нужно создать в своемприложение узла, которое вы можете сделать, просто создав файл с именем server.js
const express = require('express');
const Twitter = require('twit');
const app = express();
const client = new Twitter({
consumer_key: '...',
consumer_secret: '...',
access_token: '...',
access_token_secret: '...',
});
app.use(require('cors')());
app.use(require('body-parser').json());
app.post('/post_tweet', (req, res) => {
tweet = req.body;
client
.post(`statuses/update`, tweet)
.then(tweeting => {
console.log(tweeting);
res.send(tweeting);
})
.catch(error => {
res.send(error);
});
});
app.listen(3000, () => console.log('Server running'));
, затем в своем угловом проекте просто скопируйте и вставьте этот код, и все настроено
tweet(tweetdata: string) {
return this.http.post<any>(`${this.api_url}/post_tweet/`, {status: tweetdata})
.pipe(map(tweet => {
alert("tweet posted")
return tweet;
}));
}
sendTweet() {
this.tweet('This is app code')
.pipe(first())
.subscribe(
data => {
console.log('yes')
},
error => {
'failed'
});
}