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などからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
RDSの拡張モニタリングを有効にしました
RDS for MySQLです。 変更メニューで、[拡張モニタリングを有効にする …
-
-
DynamoDBテーブル項目をS3にエクスポート
DynamoDBテーブルを一時テーブルとして使っていて、毎回使い捨てしてます。 …
-
-
Feedlyのフィードを自動でSlackへ投稿する(AWS Lambda , Amazon DynamoDB)
やりたいこと Feedlyで共有したいフィードに特定のタグを付けます。 特定のタ …
-
-
GoogleフォームからAPI Gatewayで作成したREST APIにPOSTリクエストする
「API GatewayからLambdaを介さずにSNSトピックへ送信」の続きで …
-
-
RDSスナップショットのS3エクスポート結果確認
RDSのスナップショットをS3へエクスポートが日本語マネジメントコンソールでもで …
-
-
RocketChatからOutgoing Webhookで呼び出されたAPI Gatewayでtokenをリクエスト検証する
本来はWAFでやったほうがよさそうですが、追加料金を発生させたくない場合にAPI …
-
-
AWSのアカウントを新規作成と、最低限やっておいた方がいいMFAの設定
AWSのアカウントを新規作成する手順を書き出しておきます。 ※2017年8月6日 …
-
-
「関西AWSスタートアップ勉強会」に行ってきました
第2回 関西スタートアップAWS勉強会に行ってきました。 akippa 拠点数コ …
-
-
JAWS-UG関西「AI で人を笑わせてみよう!ハンズオン」に参加しました
AI で人を笑わせてみよう!ハンズオン 灼熱の7月最終日にJAWS-UG関西のオ …
-
-
Amazon Keyspacesのキースペースを作成してみました
Amazon Keyspaces(Apache Cassandra互換のマネージ …


