[英]How to post a tweet with Meteor.js, Twitter and Oauth
我對Meteor和Twitter有點問題。 我想做的就是通過點擊按鈕發布推文。 為此,我必須通過Oauth對Twitterservice進行身份驗證。
目前,我正在以一種非常復雜的方式進行身份驗證,從客戶端到服務器並返回。 但現在我找到了Meteor.loginWithTwitter功能。 最初我認為這個功能只是用於使用Twitterkeys將您登錄到自己的應用程序中,現在我不再那么肯定了。 也許我也可以用它來解決我的問題。 因為看起來Oauth-Process完全(以簡單的方式)在Meteor中實現。
可悲的是,我找不到任何文檔或示例,只需登錄並獲得最終的oauth_token。 所以我從Meteor得到的所有東西然后我嘗試以下代碼,這是錯誤消息:
Erromessage:Accounts.ConfigError {message:“Service not configured”}
Meteor.loginWithTwitter( function(err){
if (err){
console.log(err)
}else{
console.log("yeah");
}
});
我知道我必須在某個地方輸入我的Appinformation,比如Consumer鍵,但我不知道在哪里。 有人可以幫助我,並為我知道一些例子嗎? 或者知道我是否走在正確的軌道上?
謝謝和問候菲利普
最簡單的方法:添加accounts-ui包:
meteor add accounts-ui accounts-twitter
並在你的模板中做
{{loginButtons}}
在應用程序的第一次啟動時,單擊登錄按鈕將指導您完成設置過程。 您將創建一個Twitter應用程序,並將消費者密鑰和消費者密鑰復制到流星呈現給您的表單中。 之后您可以使用Twitter登錄。
確保使用最新的Meteor版本(此刻為0.5.2)
您還可以使用代碼配置您的消費者密鑰和密碼,這是微博的一個例子,但它適用於Twitter,谷歌等......(服務器端):
// first, remove configuration entry in case service is already configured
Accounts.loginServiceConfiguration.remove({
service: "weibo"
});
Accounts.loginServiceConfiguration.insert({
service: "weibo",
clientId: "1292962797",
secret: "75a730b58f5691de5522789070c319bc"
});
您需要在服務器端添加@ Tom31建議的內容,即我有一個/server/server.js
Accounts.loginServiceConfiguration.remove({"service": "twitter"});
Accounts.loginServiceConfiguration.insert({
"service": "twitter",
"consumerKey" : "<yours>",
"secret" : "<yours>"
});
最后,您的訪問令牌存儲在您的用戶數據庫中,但是此信息不會傳播到客戶端,如果您想要訪問它,您可以創建服務器端方法並通過Meteor.call訪問它或者Meteor.apply
更新:我的服務器端方法示例
我已經創建了這樣的服務器端方法:
Meteor.methods({
...
userGet: function(id) {
return removeSensibleFields( Meteor.users.findOne({ _id: id }) );
}
...
});
其中removeSensibleFields是一種刪除可能無法發送回客戶端的所有不必要/私有信息的方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.