Feedlyのリフレッシュトークンを使ってアクセストークンを取得する
2026/01/05
FeedlyというRSSリーダーから連携している構成があります。
Feedlyのアカウントがフリープランでしたので、アクセストークンしか使用できず、アクセストークンが期限切れになると手動更新が必要でした。
これが面倒でしたが、プロプランに変更したので、リフレッシュトークンが使用できるようになりましたのでアクセストークンを自動で取得するようにしました。
ひとまずこの記事ではアクセストークン取得のところだけ記録します。
上図のFeedly API呼び出しの部分です。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
def get_access_token(base_url, refresh_token): url = 'https://cloud.feedly.com/v3/auth/token' data = { 'client_id': 'feedlydev', 'client_secret': 'feedlydev', 'grant_type': 'refresh_token', 'refresh_token': refresh_token } headers = {'Content-Type': 'application/json'} response = requests.post(url, headers=headers, json=data) response_data = response.json() return response_data['access_token'] |
これでアクセストークンが取得できました。
クライアントIDとクライアントシークレットが’feedlydev’なのが雑な感じなんですが、こうするそうです。
ドキュメントは見つからなかったのですがこちらの【GAS】Feedly APIを叩いてみたときのメモを参考にさせていただきました。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
unix_time = int(time.mktime(interval_time.timetuple())) * 1000 headers = {'Authorization': f'Bearer {access_token}'} feedly_url = 'https://cloud.feedly.com/v3/streams/contents?streamId=user/xxx/tag/zzz' response = requests.get( f'{feedly_url}&count=100&newerThan={unix_time}', headers=headers ) stream_data = json.loads(response.text) return stream_data.get('items', []) |
xxxにはユーザーIDが入りますが、これは画面操作でリフレッシュトークンを取得する際に表示されます。
zzzはタグの名前です。私は特定のタグを付けた記事だけを連携するようにしています。
実際は、URLや取得記事数などは、パラメータストアとSecrets Managerから取得しています。
コード全体はGitHubに公開しています。
feedly_to_dynamodb
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
Pepperで撮影した写真をAmazon Rekognitionで分析してその結果をPepperがしゃべる ~(1)AWS編~
Pepperの機能を使えるところは使って、何かしたいなあと思ってまして。 目(カ …
-
-
[JapanTaxi] Athena 指向アナリティクス 〜真面目に手を抜き価値を得よ〜(AWS Summit Tokyo 2017)を聞いてきました
Athenaのユースケースとして聞きにいきましたが、最近触ってるRe:dashも …
-
-
「JAWS-UG Osaka 第22回勉強会 東西の中の人が語る!!! Microservices × Serverless On AWS」で運営と懇親会LTをしてきました
「JAWS-UG Osaka 第22回勉強会 東西の中の人が語る!!! Micr …
-
-
特定AWSアカウント特定リージョンのCloud9環境を削除するLambda(Python)
やりたいこと 特定アカウント内特定リージョン内のCloud9環境を全部削除したい …
-
-
Mountpoint for Amazon S3を試しました
このブログでは、画像などの配信にS3を使用しています。 WordPressのプラ …
-
-
CodeDeployでECR、ECSにデプロイするパイプラインのチュートリアル
チュートリアル: Amazon ECR ソースと、ECS と CodeDeplo …
-
-
Amazon Connect 発信イベントをEventBridgeで確認
Amazon Connectから発信した電話に出たのか、出なかったのかを確認した …
-
-
Amazon LinuxにRedmine をインストールする(手順整理版)
Amazon LinuxにRedmineをインストールしました手順を記載します。 …
-
-
CloudTrailイベントのコストしか発生していないリージョンのコスト発生源を調査しました
調査のきっかけ ふと検証用AWSアカウントのCostExplorerを見てました …
-
-
AWS X-Ray SDK for PythonをOrganizations組織内にLambda Layersで共有しました
ローカルでパッケージ作成 インストールコマンドはこちらAWS X-Ray SDK …


