※ もしかしたら既にBotがある?かもしれませんが・・
事前準備
まずはここからログインし、FeedlyのDeveloper用のトークンをゲットします。
※ Feedlyのアカウントを持ってない方はこの機会にどうぞ
(⚠️ Feedlyのまわし者ではありませんので・・)
(
ログインすると登録しているメールアドレスに認証用のメールが送られます。
送られたメールのリンクをクリックするとアクセス用のトークンがもらえます。
FeedlyのAPIを呼ぶ際に必要なトークンとなります。
試しに自分のプロフィール情報を取ってみます。
$ curl -H 'Authorization: OAuth {トークン}' https://cloud.feedly.com/v3/profile
{トークン}
部分に上で取得したトークンを貼り付けます。実行するとずらずらっとプロフィール情報が取得できたかと思います。
開発環境
※事前に⚠️ 。
node.js
のインストールが必要です
まずはパッケージ情報や依存するパッケージなどを記述する
package.json
を作成します。$ npm init
name: (....) feedly_slack_bot⏎ # 名前はfeedly_slack_bot
version: (1.0.0) ⏎
description: ⏎
entry point: (index.js) main.js ⏎ # 今回はmain.jsがメインファイル
・・・ 残りは好きなように設定
Is this ok? (yes) yes ⏎
以下のような
package.json
が作成されているかと思います。{
"name": "feedly_slack_bot",
"version": "1.0.0",
"description": "",
"main": "main.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Slowhand0309",
"license": "MIT"
}
ここで肝心の
node-google-apps-script
をインストールします。$ npm install node-google-apps-script --save-dev
これでGASへのアップロードがCLIで行えるようになります。
プロフィール表示
試しにGASでプロフィールを表示するまでをやってみます。
をダウンロードしてきます。
gapps init
を行い、ローカルにgapps.config.json
とsrc/*.js
をダウンロードしてきます。
src/main.js
とし、↓に編集します。/**
* Entry function.
*/
function exec() {
FeedlySlackBot.profile();
}
/**
* FeedlySlackBot object.
*/
var FeedlySlackBot = {
PROFILE_URL: 'https://cloud.feedly.com/v3/profile',
/**
* Get auth string.
*
* @return {String}
*/
auth: function() {
return 'OAuth {トークン}';
},
/**
* Log out profile info.
*/
profile: function() {
var auth = this.auth();
var response = this.get(this.PROFILE_URL, auth);
Logger.log(response.getContentText("UTF-8"));
},
/**
* Get response with auth.
*
* @param {String} url
* @param {String} auth
*/
get: function(url, auth) {
var headers = {'Authorization' : auth};
var options = {
'method' : 'get',
'contentType' : 'application/json;charset=utf-8',
'headers' : headers
};
return UrlFetchApp.fetch(url, options);
}
};
{トークン}は上で取得したトークンを設定して下さい。
アップロードし、
$ gapps upload
Google Drive上で
出力されているかと思います。
exec
を指定し実行するとログにプロフィール情報が出力されているかと思います。
今回はここまで
0 件のコメント:
コメントを投稿