Mit*_*tch 8 twitter http ionic-framework angular
我正在开发一个APP,我希望用户点击一个按钮并向其时间轴发送一条推文。有几种使用Node.JS和Angular做到这一点的已知方法,但是我正在寻找一种解决方案,以在不运行Node Server的情况下实现我想要的功能。
有没有一种方法可以将Twitter API嵌入您的IONIC / Angular APP。而且我没有在寻找Ionic插件TwitterConnect,因为它没有POST方法。
这是twitter示例,但是我将如何在Angular中实现呢?
curl -XPOST
--url 'https://api.twitter.com/1.1/statuses/update.json?status=hello'
--header 'authorization: OAuth
oauth_consumer_key="oauth_customer_key",
oauth_nonce="generated_oauth_nonce",
oauth_signature="generated_oauth_signature",
oauth_signature_method="HMAC-SHA1",
oauth_timestamp="generated_timestamp",
oauth_token="oauth_token",
oauth_version="1.0"'
Run Code Online (Sandbox Code Playgroud)
这是 @GonzaloNicolás建议的链接https://developer.twitter.com/zh-CN/docs/tweets/post-and-engage/api-reference/post-statuses-update有人可以协助我提供文档或一些编码示例。
小智 6
对不起,我的英语,我来自阿根廷。您的解决方案是POST状态/更新API,
该解决方案来自twitter,如果进行搜索,您将发现假设使用auth时必须发送的所有文档和结构
链接:https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/post-statuses-update
据我了解,您可以使用简单的节点服务器访问Twitter API。我原本以为这是令人生畏的,但实际上没有什么可强调的。
您可以通过创建项目目录来启动节点程序
mkdir server
cd server
npm init
touch server.js
Run Code Online (Sandbox Code Playgroud)
并安装twit api并将js表达到您的节点项目中
npm install twit body-parser cors express
Run Code Online (Sandbox Code Playgroud)
在Twitter开发人员页面https://apps.twitter.com/上创建您的Twitter应用程序
然后将此代码复制并粘贴到您需要在节点应用程序中创建的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'));
Run Code Online (Sandbox Code Playgroud)
然后在您的角度项目中,只需复制并粘贴此代码即可
api_url = 'http://localhost:3000';
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'
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
115 次 |
| 最近记录: |