diadia

興味があることをやってみる。自分のメモを残しておきます。

mailchimpを使ってみる

mailchimpを使ってみて感じたこと

最近色々な種類のapiをいじった結果、感想がある。様々なサービスのapiを使うためにあまり負担をかけずに使うためのものだ。自分の場合、apiを使うために毎度たくさんの学習コストがかかるのが負担だった。しかし最終的に実現した過程を客観的に見ると今まで経験したものには一定の法則があった。独学でやっているためにおそらく常識的な内容だが、自分のために残しておこうと思う。

apiでの操作は、requestsでpostまたはgetして送りたいデータを送ることだ。そして送りたい先(url)が機能部分を担当している。だから機能部分が要求するデータを要求通りに送ると機能は実現される。

どのようにapiに取り組むべきか

まずAPIのサービスがなんの機能を提供しているのか把握すること。次に自分が実現したい機能はなんなのかはっきりさせる。そして自分が実現したい機能が当該APIの機能の何に当たるかを探し当てて、そのurlを特定する。でそのurlがなんのデータを必要としているのか確認する。最後にrequestsで送りたいデータ(要求されているデータ)をurlに送りつける。こんな感じでやっていくと大きなストレスがかからずに取り組めると思う。

mailchimp apiドキュメントの場所

my page→profile→Extrasタブ→APIKeys→Read the API Documentation

mailchimpの仕組み

メールを送る相手のリストを作成する。 そのリストに送りたい相手を追加する。 そのリストをもとにメールを送る。

リストに送りたい相手を追加

https://developer.mailchimp.com/documentation/mailchimp/reference/lists/members/#%20

POST /lists/{list_id}/membersと書いてあるので、まずrequests.POSTを使う事がわかる。
urlは"/lists/{list_id}/members"なので、以下のようなコードになることがイメージできる。

requests.post("/lists/{list_id}/members")

次にurlが不完全なので完全なurlにすること、なんのデータを送ればよいのか明確にする必要がある。

完全なurlにする

 

なんのデータを送ればよいのか

練習としてlistデータを取得する

mailchimp apiを使う練習として以下のurlを参考にする。
https://developer.mailchimp.com/documentation/mailchimp/reference/lists/#%20

まずエンドポイントを確定させる。リンク先では"/lists"と書いてある。これをベースのエンドポイントにくっつけるとエンドポイントになる。

base_endpoint = "あとで"
URL = base_endpoint + "/lists"

ベースのエンドポイントはなにか?

ベースエンドポイントは、https://< dc> .api.mailchimp.com/3.0 である。そして< dc>部分を自分のdata center部分に置き換える。参照先:https://developer.mailchimp.com/documentation/mailchimp/guides/get-started-with-mailchimp-api-3/のResourcesの部分。

送るdataはないので以下のようにすれば、すべてのlistのデータを取得できる。

import requests
APIKey = "****************"
base_endpoint = "************"
URL = base_endpoint + "/lists"
response = requests.get(URL,auth=("",APIKey))
print(response.text)