【slack】API Methodsをざっと見てみる

slackのAPIで用意されているメソッドを虫食いだけど、ざっと見てみます。

API Method概要

公式はこちら。
https://api.slack.com/methods

それぞれメソッドのリンク先にはTesterタブが準備されていて、APIトークンを使って実行結果を確認する事が出来る。

api

コードのテストが出来る。
このAPIはhttps://slack.com/api/api.testというURLを持っていて、

auth

auth.revoked

アクセストークンを無効にする。

bots

bots.info

bot idの取り方が分からない

channels

channels.archive

チャンネルがアーカイブされているか

channels.create

チャンネルを作成する

https://slack.com/api/channels.create?token=xoxp-00000000000-00000000000-00000000000-00000000000&name=api-channnels.create.test&pretty=1

2016-06-19 14.43.00
増えている。

channels.history

チャンネルの会話などの歴史をすべてとってくる

channels.history

チャンネルの情報をとってくる

channels.history

chat

chat.delete

チャンネルとタイムスタンプで指定したメッセージを削除する

chat.meMessage

認証ユーザとしてメッセージを送信する。

chat.postMessage

公開・非公開チャンネル、DMにメッセージをポストする。

chat.update

チャンネルのメッセージを更新する。

emoji

emoji.list

emojiのリストを取得する。

im

im.close

ダイレクトメッセージチャンネルを閉じる。

im.history

ダイレクトメッセージチャンネルのメッセージとイベントを取得する。

im.list

calling userのダイレクトメッセージチャンネルのリストを取得する。

im.mark

リードカーソルをダイレクトメッセージチャンネルにセットする。

im.open

ダイレクトメッセージチャンネルを開く。

pins

pinsの追加、削除、リストの参照を行う。

rtm

rtm.start

Real Time Messaging APIセッションを開始する。

stars

start.add

付与するパラメータは以下

要素 説明
token APIトークン
file スターを追加するファイル
file_comment スターを追加するファイルコメント
channel スターを追加するチャンネル、又はスターを追加するメッセージがポストされたチャンネル
timestamp スターを追加するメッセージのタイムスタンプ

start.list

認証ユーザによって、スターをつけられたアイテムのリストを返す。

こんな感じにスターが憑いている場合、
2016-06-19 17.29.27

以下の結果が返る。

{
    "ok": true,
    "items": [
        {
            "type": "message",
            "channel": "C00000000",
            "message": {
                "type": "message",
                "user": "U00000000",
                "text": "\u30b3\u30e1\u30f3\u30c88",
                "ts": "1466324839.000009",
                "permalink": "permalink-url",
                "is_starred": true
            }
        },
        {
            "type": "message",
            "channel": "C00000000",
            "message": {
                "type": "message",
                "user": "U00000000",
                "text": "\u30b3\u30e1\u30f3\u30c85",
                "ts": "1466324832.000006",
                "permalink": "permalink-url",
                "is_starred": true
            }
        },
        {
            "type": "message",
            "channel": "C00000000",
            "message": {
                "type": "message",
                "user": "U00000000",
                "text": "\u30b3\u30e1\u30f3\u30c82",
                "ts": "1466324822.000003",
                "permalink": "permalink-url",
                "is_starred": true
            }
        }
    ],
    "paging": {
        "count": 5,
        "total": 3,
        "page": 1,
        "pages": 1
    }
}

stars.remove

スターをリムーブする

team

team.accessLogs

チームのユーザーのアクセスログを返します。

team.billableInfo

チームのユーザーの支払い可否の情報を返す。

team.info

チームの情報を返します。

team.integrationLogs

インテグレーションとは外部サービスとの連携のことをさします。
Githubやjenkinsなどたくさんの連携サービスがあり、また導線がよくわからないのですが、https://{your-slack-account}.slack.com/appsで検索、追加する事が可能です。

このメソッドは、インテグレーションの追加、変更、削除などのログをリストで返します。

usergroups

usergroups.users.list

ユーザーグループのユーザーを全て表示する

usergroups.users.update

usergroups.users

users.getPresence

ユーザーの存在を取得する。

一般のユーザーの場合、activeかawayのみ、認証ユーザーの場合は下記も返る

パラメータ 説明
online slackに接続しているか
auto_away サーバーが直近30分なんら動きを調べられなかったとき
manual_away ユーザーが手動でaway表示にしているか
connection_count 接続している数
last_activity

// not auth user
{
    "ok": true,
    "presence": "active" // active or away
}
// auth user
{
    "ok": true,
    "presence": "active",
    "online": true,
    "auto_away": false,
    "manual_away": false,
    "connection_count": 1,
    "last_activity": 1419027078
}

users.info

{
    "ok": true,
    "user": {
        "id": "U00000000",
        "team_id": "T00000000",
        "name": "yk110303",
        "deleted": false,
        "status": null,
        "color": "9f69e7",
        "real_name": "",
        "tz": "Asia\/Tokyo",
        "tz_label": "Japan Standard Time",
        "tz_offset": 32400,
        "profile": {
            "first_name": "",
            "last_name": "",
            "avatar_hash": "xxxxxxxxxxxx",
            "real_name": "",
            "real_name_normalized": "",
            "email": "yk110303@example.com",
            "image_24": "img-url",
            "image_32": "img-url",
        },
        "is_admin": true,
        "is_owner": true,
        "is_primary_owner": true,
        "is_restricted": false,
        "is_ultra_restricted": false,
        "is_bot": false,
        "has_2fa": false
    }
}

users.list

チームのユーザリストを取得する。
パラメータpresenceに0入れても、1入れても結果が変わらない・・・

users.setPresence

メッセージサーバに認証ユーザーがアクティブである事を知らせる。

users.setPresence

ユーザーのpresenceのaway、activeを設定する。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク