Twilio Functions를 사용하여 현재 날씨 얻기

3224 단어 twilio

소개



해커슨 이벤트 등에서는 때때로 날씨를 얻고 싶을 때가 있습니다.
날씨를 얻기 위한 몇 가지 API가 있지만, 이번에는 OpenWeatherMap이라는 서비스를 활용하여 Twilio Functions에서 날씨를 얻는 코드를 소개합니다.

준비



OpenWeatherMap으로 이동하여 가입 페이지에서 계정을 만듭니다. 가입은 무료입니다.

가입이 완료되면 API 키 탭으로 이동하여 키 값을 메모장에 기록합니다.


Functions 만들기


  • Twilio 관리 콘솔에 로그인합니다.

  • Runtime 메뉴에서 Functions를 선택한 다음 Manage를 선택합니다.
  • 새로운 Function을 작성합니다. 템플릿은 Blank일 수 있습니다.

  • FUNCTION NAME과 PATH 열은 적절하게 입력합니다.

  • ACCESS CONTROL의 체크 박스는 제외합니다.

  • CODE 입력란에 다음 코드를 붙여넣습니다.

  • 기능
    const https = require('https');
    
    exports.handler = function(context, event, callback) {
        const HOST = 'api.openweathermap.org/data/2.5/weather';
        const CITY = 'Tokyo';
        const APPID = 'ここにOpenWeatherMapのAPP Keyを貼り付けます';
    
        let result = {};
        const req = https.request(`https://${HOST}?q=${CITY}&APPID=${APPID}`, (res) => {
            res.on('data', (chunk) => {
                result = JSON.parse(chunk);
            });
            res.on('end', () => {
                console.log(`${CITY} is a ${result.weather[0].description}.`);
                callback(null, result);
            });
        });
    
        req.on('error', (e) => {
          console.error(`problem with request: ${e.message}`);
          callback(e.message);
        });
    
        req.end();
    
    };
    
  • 6행째에 방금 앞두고 둔 Key를 기입합니다.

  • SAVE 버튼을 눌러 Function을 저장합니다.
  • 배포가 완료되었다는 메시지가 표시되면 PATH 열의 URL을 복사하여 브라우저에서 실행해보십시오.
  • Function 화면에는 다음과 같은 메시지가 표시되면 성공합니다.



  • 참고로 날씨 데이터에 대한 자세한 내용은 여기 페이지을 참조하십시오.

    이 Function 자체는 다음과 같은 날씨 데이터를 JSON 형식으로 반환하므로 예를 들어 Twilio Studio에서이 Function을 호출하여 필요한 데이터 만 가져올 수 있습니다.

    JSON
    {"coord":{"lon":139.76,"lat":35.68},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04n"}],"base":"stations","main":{"temp":288.45,"pressure":1020,"humidity":51,"temp_min":286.15,"temp_max":290.15},"visibility":10000,"wind":{"speed":4.1,"deg":160},"clouds":{"all":75},"dt":1526817600,"sys":{"type":1,"id":7619,"message":0.0045,"country":"JP","sunrise":1526758342,"sunset":1526809383},"id":1850147,"name":"Tokyo","cod":200}
    

    Happy Hacking!

    좋은 웹페이지 즐겨찾기