DocBaseのAPIクライアントのGemを作りました このエントリをはてなブックマークに登録

2016年02月08日

ダニーダニー / , ,

docbase-gem

はじめに

DocBaseのAPIクライアントをRubyのGemとして公開しました。
今回は使い方を紹介します。

APIトークンの取得

まず、APIを実行するには、APIトークンを取得する必要があります。

api-key1

歯車のところを押すと、吹き出しが出るので、基本設定を押します。

api-key2

APIトークンの項目の作成するを押します。
一度作成後に閉じてから、再度表示しようとすると*************表示になるので、忘れるともう一度作成し直す必要があります。

インストール

Gemfile

source 'https://rubygems.org'

gem 'docbase'

Gemfileを使わない場合

$ gem install docbase

チームを取得

#! /usr/bin/env ruby

require 'rubygems'
require 'docbase'

client = DocBase::Clinet.new(access_token: 'your access token', team: 'your team')
clinet.teams.body

実行結果例

[{ domain: 'kray', name: 'kray' }, { domain: 'danny', name: 'danny' }]

タグを取得

#! /usr/bin/env ruby

require 'rubygems'
require 'docbase'

client = DocBase::Clinet.new(access_token: 'your access token', team: 'your team')
clinet.tags.body

実行結果例

[{ name: 'ruby' }, { name: 'rails' }]

グループを取得

#! /usr/bin/env ruby

require 'rubygems'
require 'docbase'

client = DocBase::Clinet.new(access_token: 'your access token', team: 'your team')
clinet.groups.body

実行結果例

[{ id: 1, name: 'DocBase' }, { id: 2, name: 'kray' }]

記事を投稿

#! /usr/bin/env ruby

require 'rubygems'
require 'docbase'

params = {
  title: 'memo title',
  body: 'memo body',
  draft: false,
  tags: ['rails', 'ruby'],
  scope: 'group',
  groups: [1],
  notice: true,
}

client = DocBase::Clinet.new(access_token: 'your access token', team: 'your team')
clinet.posts(params).body

実行結果例

{
  id: 1,
  title: 'memo title',
  body: 'memo body',
  draft: false,
  url: 'https://kray.docbase.io/posts/1',
  created_at: '2015-03-10T12:01:54+09:00',
  tags: [
    { name: 'rails' },
    { name: 'ruby' },
  ],
  scope: 'group',
  groups: [
    { name: 'DocBase' }
  ],
  user: {
    id: 1,
    name: 'danny'
  },
}
  • groupsはグループを取得で取得したIDを使います。
  • 記事の投稿者は、access_tokenで渡したAPIトークンを作成したユーザーになりますので、特定のユーザーで作成したことにしたい場合はそのユーザーの作成したAPIトークンを使って実行する必要があります。

チームを切り替える

client = DocBase::Clinet.new(access_token: 'your access token', team: 'team1')
client.team = 'team2'

途中から、APIの実行対象のチームを変えることができます。

環境変数からAPIトークンを取得する

ENV['DOCBASE_ACCESS_TOKEN'] = 'your access token'
client = DocBase::Clinet.new(team: 'team1')

DocBase::Clinet.newの引数にAPIトークンを渡さないで済むようになります。

最後に

今回はどんな形で使えるかを一通り説明しました。
RubyのプログラムからAPIを扱いやすくなったんじゃないかと思います。
連携するようなアプリケーションや記事をRubyのスクリプトで自動で投稿したい時などにお使いください。

RubyGems

https://rubygems.org/gems/docbase

リポジトリ

https://github.com/krayinc/docbase-ruby

宣伝

053c751a-9a40-43e2-ad6e-b75e78367451

DocBaseとは

チームを育てるをコンセプトにした情報共有サービスです。
メモという形で小さく始められる、エンジニア以外のメンバーでも使いやすい仕組み、情報をまとめて整理できる、柔軟な権限設定で様々なプロジェクトで使えるなど、積極的な情報共有と業務の効率化を実現し、チームの成長を促します。

詳しくはこちらから。
https://docbase.io

クレイについてもっと知りたい方は…

  1. クレイの3つの強みを見てみる。
  2. WEBシステムのことなら何でもご相談ください。

「いいね!」で応援よろしくお願いします!

このエントリーに対するコメント

コメントはまだありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


トラックバック

we use!!Ruby on RailsAmazon Web Services

このページの先頭へ