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などからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
AWS Organizationsでアカウントを50作って指定したOUに移動するスクリプト
AWS Organizationsでアカウントを50個作る必要がありましたので、 …
-
-
EC2 Linux ユーザーデータ実行ユーザーとカレントディレクトリの確認
きっと、rootなんだろうなあと認識してたのですが、自分の目で確認したことはなか …
-
-
CloudFrontのVPCオリジンを使用してApplication Load Balancerをプライベートサブネットで起動する
このブログのApplication Load Balancerはパブリックサブネ …
-
-
Amazon Chimeのチャットを使ってみました
Amazon Chimeはビデオミーティングや配信したりというサービスですが、チ …
-
-
S3バケットのデフォルト暗号化はデフォルトだったことを確認しました
S3バケットのデフォルト暗号化は名前のとおりだとデフォルトなので、暗号化を指定し …
-
-
RDSインスタンス作成時にEC2に接続設定するオプション
EC2 インスタンスと RDS データベース を自動的に接続するの動作を確認した …
-
-
VPCピア接続した先のVPCインターフェイスエンドポイントを使用する
VPC1とVPC2でピア接続しています。 VPC2にはKMSのインターフェイスエ …
-
-
CloudTrailのログファイルの整合性検証をAWS CLIで実行しました
CloudTrailのログファイルの検証を「有効」にしました。 上記のようなCl …
-
-
Amazon Location Service入門ワークショップ-トラッカー
トラッカーでデバイスの位置や移動履歴を追跡できます。 関連記事 Amazon L …
-
-
AWS東京リージョンのAZ(apne1-az1)障害時の当ブログで発生していたことの記録
日本時間2/19 23:01頃より、東京リージョン、特定AZの1つでEC2インス …


