ChatworkAPI에서 message를 POST해 봅니다.

방금 쓴 기사에서는 API를 통해 Chatwork 채팅 그룹을 받았습니다.
이번에는 채팅 그룹에 게시하고 싶습니다.
ChatworkAPI에 express에서 request 모듈로 연결 - Qiita

채팅 워크 API에 게시



샘플 요청


curl -X POST -H "X-ChatWorkToken: YOUR API KEY" -d "body=Hello+ChatWork%21" "https://api.chatwork.com/v1/rooms/{room_id}/messages"

이번은 POST입니다만, 지난번 의 GET와 같이 API에는 헤더에 API KEY(token)를 붙입니다.

이전 내용에서 채팅 당 room_id를 알았다고 생각하므로 그것을 메모해 둡시다.

마지막 코드를 수정하고 작성하여 채팅 워크에 POST (투고)



request 모듈을 사용합니다. express는 4계입니다.
routes/post.js 를 만드세요. room_id와 API 키를 적절하게 변경하십시오.

routes/post.js
var express = require('express');
var router = express.Router();
var request = require('request');

router.get('/', function(req, res){
    var tweet = 'こんばんわ〜';
    var room_id = 投稿したいチャットルームのid;
    var options = {
        url: 'https://api.chatwork.com/v1/rooms/'+room_id+'/messages',
        headers: {
            'X-ChatWorkToken': 'YOUR API KEY'
        },
        form: { body: tweet },
        json: true
    };

    request.post(options, function (error, response, body) {
        if (!error && response.statusCode == 200) {
            res.render('post', body);
        }else{
            console.log('error: '+ response.statusCode);
        }
    });
});

module.exports = router;

url 라우팅 설정을 위해 app.js도 다시 씁니다.

app.js
#8行目付近
var routes = require('./routes/index');
var users = require('./routes/users');
var post = require('./routes/post'); //←追加

#25行目付近
app.use('/', routes);
app.use('/users', users);
app.use('/post', post); //←追加

이번에는 대화방에 게시한 메시지 ID를 표시합니다.

index.ejs
<!DOCTYPE html>
<html>
  <head>
    <title>Postてすと</title>
    <link rel='stylesheet' href='/stylesheets/style.css' />
  </head>
  <body>
    postメッセージid: 
    <%= message_id %>
  </body>
</html>

이제 브라우저에서 localhost:3000/post에 액세스하면 채팅 작업에 眠い가 게시됩니다.

브라우저에 게시 된 메시지의 ID가 표시되며,

채팅 워크에서는 자신의 계정이 지정한 room에서 졸린다고 합니다.


이런 느낌으로 메시지 투고까지 할 수 있었습니다!

참고 : Node.js : request 모듈을 사용하여 POST 요청하기 - Sarabande.jp

좋은 웹페이지 즐겨찾기