Skip to content

pyconjp/pyconjp-cron

Repository files navigation

pyconjp-cron

  • 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 への認証を準備する

  • Google スプレッドシートにアクセスできるようにする。

1. Google API を有効にする

  1. Google API Console を開く

  2. 「プロジェクトを作成」→ pyconjp-cron などを指定して「作成」

  3. 「APIを有効にする」を選択し、以下のAPIを検索して有効にする

    • Google Seets API: スプレッドシートの読み書きに必要
    • Google Calendar API: カレンダーの読み書きに必要
  4. 「認証情報」メニュー→「OAuth同意画面」タブ→以下を入力して「保存」

    メールアドレス: 自分のメールアドレス ユーザーに表示するサービス名: pyconjp-cron

  5. 「認証情報を作成」→「OAuth クライアント ID」→「その他」を選択→名前に pyconjp-cron などを指定して「作成」

  6. OAuth クライアント IDがダイアログで表示されるので「OK」をクリックして閉じる

  7. 右端のダウンロードボタンをクリックして、 client_secret_XXXX.json をダウンロードする

  8. ファイル名を client_secret.json に変更して clone したディレクトリに置く

2. credentials を生成

  • 下記の手順で 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 との認証情報を用意する

  1. Twitter Application Management にPyCon JPのTwitterアカウント(@PyConJ)でログインする
  2. 以下のような情報を入力してアプリケーションを作成する
  1. Key and Access Tokens を選択→ Create my access token ボタンをクリック
  2. 以下の4項目の値を settings.py に記入する
  • Consumer Key (API Key)
  • Consumer Secret (API Secre)
  • Access Token
  • Access Token Secret

Facebook のアクセストークンの取得

  1. 開発者向けFacebook にアクセスしする
  2. マイアプリ新しいアプリを追加 を選択し、アプリケーションを登録する
  • 表示名: pyconjp_sns_notify
  • 連絡先メールアドレス: [email protected]
  • カテゴリ: コミュニケーション
  1. 作成したアプリケーションのダッシュボードが開くので プラットフォームを選択 ボタンをクリックし ウェブサイト を選択する。Site URLには http://localhost/ を指定する
  2. app id と app sercret を settings.py に記述する
  3. get_fb_access_token.py を実行し、手順に従ってアクセストークンを取得する
  4. 成功するとページアクセストークンが出力されるので、その内容を settings.py に書き込む

Releases

No releases published

Packages

No packages published

Languages