Google Apps Script를 사용하여 내일 날씨 자동 트윗
11793 단어 트위터GoogleAppsScriptbot
참고로 한 기사
GAS 스크립트를 작성하여 일기 예보를 가져옵니다.
function getWeather(){
var url = "http://weather.livedoor.com/forecast/webservice/json/v1?city=130010";
result = UrlFetchApp.fetch(url); //WebAPIから情報取得
var retw = result.getContentText(); //テキストだけ抜き出す
var retjson = JSON.parse(retw); //JSON形式データを配列に格納
var statement = "明日の天気("+ retjson.forecasts[1].date + ") - " + retjson.forecasts[1].telop;
//明日の日付と天気だけ抜き出す
return statement;
}
LiveDoor에서 제공하는
「Weather Hacks(기상 데이터 전달 서비스) ぇ tp // 우아아테 r. 아오오오 r. 이 m/우아아테ぇr_는 cks/ 」를 이용합니다
(상용 빼기라는 조건으로 무료 이용 가능, 응답이 JSON 형식)
스크립트를 작성하면 파일 → 프로젝트 속성보다 스크립트 ID를 삼가 둡니다.
Twitter Application Management로 앱 만들기
htps : // 아르 ps. 라고 r. 코m/
Name과 description은 무엇이든 좋고, website도 자유롭습니다 (자신은 bot로 하는 트위터 계정의 홈 URL을 넣었습니다)
Callback URLs만 지정
https://script.google.com/macros/d/[Script ID]/usercallback
(이전에 대기 한 스크립트 ID 입력)Create My Twitter Application하고,
· Consumer Key (API Key)
· Consumer Secret (API Secret)
삼가해라.
bot 본체 만들기
var API_KEY = '****';
var API_SECRET = '****';
/* サービスの設定 */
function getService() {
return OAuth1.createService('Twitter')
.setAccessTokenUrl('https://api.twitter.com/oauth/access_token')
.setRequestTokenUrl('https://api.twitter.com/oauth/request_token')
.setAuthorizationUrl('https://api.twitter.com/oauth/authorize')
.setConsumerKey(API_KEY)
.setConsumerSecret(API_SECRET)
.setCallbackFunction('authCallback')
.setPropertyStore(PropertiesService.getUserProperties());
}
/* コールバック関数 */
function authCallback(request) {
var service = getService();
var authorized = service.handleCallback(request);
if (authorized) return HtmlService.createHtmlOutput('認証成功');
}
/* 認証リセット */
function reset() {
getService().reset();
}
/* 認証用URL */
function getOAuthURL() {
Logger.log(getService().authorize());
}
/* リクエスト */
function request1(text) {
var service = getService();
if (service.hasAccess()) {
var url = 'https://api.twitter.com/1.1/statuses/update.json';
var payload = {
status: text
};
var options = {
method: 'post',
payload: payload,
escaping: false
};
var response = service.fetch(url, options);
var result = JSON.parse(response.getContentText());
Logger.log(JSON.stringify(result, null, 2));
return result;
}
}
function tweet(){
request1(getWeather());
}
(htps : // 코 m / 오징어 / / ms / 1d 33c26559 e c56 03
보다 인용 tweet 부분만, getWeather의 실행 결과를 트윗하고 싶기 때문에 바꾸고 있습니다)
API_KEY와 API_SECRET은 앞서 삼킨 것을 입력
먼저 getOAuthURL을 실행하고 인증을 통과
그 후 tweet을 실행하면 날씨 트윗 완료
트리거 설정
정기적으로 매일 실행하고 싶기 때문에 트리거를 설정합니다.
"편집 → 현재 프로젝트 트리거"에서
tweet을 실행하고 싶은 빈도, 시간대를 설정하면 OK
Reference
이 문제에 관하여(Google Apps Script를 사용하여 내일 날씨 자동 트윗), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/1206shiba/items/d86fac1f25dd41333289텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)