- cron scripts for PyCon JP
$ git clone [email protected]:pyconjp/pyconjp-cron.git
$ cd pyconjp-cron
$ python3.6 -m venv env
$ . env/bin/activate
(env) $ pip install -r requirements.txt
(env) # 「1. Google API を有効にする」の手順を実施
(env) $ python google_api.py # Google 認証を実行
(env) $ cp settings.py.sample settings.py
(env) $ vi settings.py
- sns_notify.py: Twitter通知シート(スプレッドシート)の内容をTwitter/Facebookに通知する
- update_calendar.py: connpass イベントを PyCon JP の Google カレンダーに登録する
- Google スプレッドシートにアクセスできるようにする。
-
「プロジェクトを作成」→
pyconjp-cron
などを指定して「作成」 -
「APIを有効にする」を選択し、以下のAPIを検索して有効にする
- Google Seets API: スプレッドシートの読み書きに必要
- Google Calendar API: カレンダーの読み書きに必要
-
「認証情報」メニュー→「OAuth同意画面」タブ→以下を入力して「保存」
メールアドレス: 自分のメールアドレス ユーザーに表示するサービス名:
pyconjp-cron
-
「認証情報を作成」→「OAuth クライアント ID」→「その他」を選択→名前に
pyconjp-cron
などを指定して「作成」 -
OAuth クライアント IDがダイアログで表示されるので「OK」をクリックして閉じる
-
右端のダウンロードボタンをクリックして、
client_secret_XXXX.json
をダウンロードする -
ファイル名を
client_secret.json
に変更して clone したディレクトリに置く
- 下記の手順で
google_api.py
を実行すると、ブラウザが開いて API の許可を求める - 任意の Google アカウントで API を許可する
- 成功すると
credentials.json
という証明書ファイルが生成される
$ . env/bin/activate
(env) $ python google_api.py
:
credentialsをcredentials.jsonに保存しました
Name, Major:
Alexandra, English
:
Will, Math
(env) $ ls credentials.json
credentials.json
- Twitter Application Management にPyCon JPのTwitterアカウント(@PyConJ)でログインする
- 以下のような情報を入力してアプリケーションを作成する
- Name: sns_notify
- Description :SNS Notify script for PyCon JP
- Website: https://github.com/pyconjp/pyconjp-cron
- Callback URL: 空
Key and Access Tokens
を選択→Create my access token
ボタンをクリック- 以下の4項目の値を
settings.py
に記入する
- Consumer Key (API Key)
- Consumer Secret (API Secre)
- Access Token
- Access Token Secret
- 開発者向けFacebook にアクセスしする
マイアプリ
→新しいアプリを追加
を選択し、アプリケーションを登録する
- 表示名: pyconjp_sns_notify
- 連絡先メールアドレス: [email protected]
- カテゴリ: コミュニケーション
- 作成したアプリケーションのダッシュボードが開くので
プラットフォームを選択
ボタンをクリックしウェブサイト
を選択する。Site URLにはhttp://localhost/
を指定する - app id と app sercret を
settings.py
に記述する get_fb_access_token.py
を実行し、手順に従ってアクセストークンを取得する- 成功するとページアクセストークンが出力されるので、その内容を
settings.py
に書き込む