正如标题所示,我的目标是从
我编写了两个主要函数来尝试实现这一目标:
script.gs
发送一条推特。最好不要让我访问Twitter网站,就能将推文发布到我的动态中。我编写了两个主要函数来尝试实现这一目标:
script.gs
//post tweet
function oAuth() {
var CONSUMER_KEY = "**********************";
var CONSUMER_SECRET = "*************************************************";
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/authorize");
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 = "Tweet";
var Roptions = {
method: "post",
oAuthServiceName: "twitter",
oAuthUseToken: "always",
status: status
};
var url = "https://api.twitter.com/1.1/statuses/update.json";
Logger.log('begin post');
var request = UrlFetchApp.fetch(url, Roptions); //the trouble line. Execution stops.
Logger.log('post complete');
}
经过一天不懈的努力,我成功让第一个函数 oAuth()
工作了。它记录了我的用户数据。但是,我就是无法弄清楚是什么原因导致 request
无法工作。我得到了这个错误信息:Request failed for returned code 403. Truncated server response: {"errors":[{"message":"SSL is required","code":92}]}
。谷歌搜索没有发现太多有用的信息。我猜测问题可能出在 Roptions
中的某个地方。如果需要,我可以提供进一步的说明。任何帮助都将不胜感激。
var url =“https://api.twitter.etc
- Alan WellsRoptions
中有status
? - J148