我从 this question 中提取了此代码.
应用作者的解决方案,我总是得到这个错误:
我从这里创建的 twitter 应用程序中获取我的 key 和 secret :
我已将应用程序配置为编写...
我究竟做错了什么?
//post tweet
function oAuth() {
var CONSUMER_KEY = "xxxx";
var CONSUMER_SECRET = "xxxxx";
ScriptProperties.setProperty("TWITTER_CONSUMER_KEY", CONSUMER_KEY);
ScriptProperties.setProperty("TWITTER_CONSUMER_SECRET", CONSUMER_SECRET);
var oauthConfig = UrlFetchApp.addOAuthService("twitter");
oauthConfig.setAccessTokenUrl("https://api.twitter.com/oauth/access_token");
oauthConfig.setRequestTokenUrl("https://api.twitter.com/oauth/request_token");
oauthConfig.setAuthorizationUrl("https://api.twitter.com/oauth/authenticate");
oauthConfig.setConsumerKey(ScriptProperties.getProperty("TWITTER_CONSUMER_KEY"));
oauthConfig.setConsumerSecret(ScriptProperties.getProperty("TWITTER_CONSUMER_SECRET"));
var options = {muteHttpExceptions: true,oAuthServiceName:'twitter',oAuthUseToken:'always'}
var url = "https://api.twitter.com/1.1/statuses/user_timeline.json";
var response = UrlFetchApp.fetch(url, options).getContentText();
Logger.log(response);
}
function postTweet() {
oAuth();
Logger.log('oAuth complete');
var status='Operational!';
var options = {
"method": "post",
"oAuthServiceName": "twitter",
"oAuthUseToken": "always",
"payload":{"status":status}
};
var url = "https://api.twitter.com/1.1/statuses/update.json";
Logger.log('begin post');
var request = UrlFetchApp.fetch(url, options);
Logger.log('post complete');
}
最佳答案
我也收到此错误,直到我意识到您需要在 Twitter 中指定一个“回调 URL”:
将其指定为“https://script.google.com” ' 或 ' https://script.google.com/macros ' 允许我授权。我已经对此进行了测试,目前正在让我发布您列出的代码。
但是,请注意,如果您尝试两次发布相同的“状态”文本,则会引发以下错误:
这不是问题,因为您只需更改变量“状态”的值,但它第一次让我感到困惑。
关于twitter - 使用 Google Script 发推文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25982488/