フォロワーを取得してデータベースに保存するための簡単なGoogleスクリプト関数を作成しました。次に、毎日真夜中に関数を実行するようにトリガーを設定しましたが、関数を実行するために承認する必要があるというエラーが発生しました。
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 変数を保存して永続化する必要がありますか? ヒントはありますか?