我编写了一个简单的谷歌脚本函数来获取关注者并将它们保存在数据库中。接下来,我设置了触发器以在每天午夜运行该函数,但我得到了我必须授权才能运行该函数的错误。
function get_followers() {
// Setup OAuthServiceConfig
var oAuthConfig = UrlFetchApp.addOAuthService("twitter");
oAuthConfig.setAccessTokenUrl("http://api.twitter.com/oauth/access_token");
oAuthConfig.setRequestTokenUrl("http://api.twitter.com/oauth/request_token");
oAuthConfig.setAuthorizationUrl("http://api.twitter.com/oauth/authorize");
oAuthConfig.setConsumerKey("xxxxxxxxxxxxxxxxxxxxxx");
oAuthConfig.setConsumerSecret("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
var options =
{
"oAuthServiceName" : "twitter",
"oAuthUseToken" : "always"
};
var result = UrlFetchApp.fetch("https://api.twitter.com/1.1/followers/ids.json?cursor=-1&screen_name=xxxxxxxxxxxxx&count=5000",options);
var dataAll = Utilities.jsonParse(result);
db_save(dataAll,'twitter_followers');
Logger.log(dataAll);
}
当我从 script.google.com 运行代码时,会出现 Twitter 授权弹出窗口并执行该功能。而当函数通过触发器运行时,它看起来第一次正确运行,而不是我必须再次授权脚本。
我怎样才能永久授权它?
我知道这是可能的,因为我将 Drupal 与同一个 Twitter 帐户集成,并且我只需要授权一次?
有什么想法吗?我应该存储 oAuthConfig 变量以使其永久化吗?有什么提示吗?