menu
  1. HOME
  2. News & Blog
  3. PHP
  4. カカオトークでメッセージを送信する処理をPHPで試してみました!

News & Blogニュース&ブログ

2024.05.09

カカオトークでメッセージを送信する処理をPHPで試してみました!

https://developers.kakao.com/」に接続し、My Applicationに移動してアプリケーションを追加します。

追加したアプリケーションをクリックすると、REST API Keyを確認できます。

左のメニューで「Consent Items」を選択し、以下のように設定を行います。

アプリ権限申請画面が表示されたらカカオログイン画面に戻ります。
カカオログインを有効化し、リダイレクト先を設定します。

「https://kauth.kakao.com/oauth/authorize?client_id=《REST API Key》&redirect_uri=《Redirect URI》&response_type=code&scope=profile_nickname,friends,talk_message」に接続してアプリの利用に同意します。

Laravelで以下のコードを作成して動かしてみました。

$response = Http::asForm()->post('https://kauth.kakao.com/oauth/token', [
    'grant_type'    => 'authorization_code',
    'client_id'     => '《REST API Key》',
    'redirect_uri'  => '《リダイレクト先》',
    'code'          => '《認可コード》',
]);
$tokens = $response->json();
Log::debug(カカオOauthログインのトークンを確認', ['tokens' => $tokens]);

Laravelログを確認したら、以下の結果になりました。

[YYYY-MM-DD hh:mm:ss] local.DEBUG: カカオOauthログインのトークンを確認 {"tokens":{"access_token":"《アクセストークン》","token_type":"bearer","refresh_token":"《リフレッシュトークン》","expires_in":21599,"scope":"talk_message profile_nickname friends","refresh_token_expires_in":5183999}}

今回は、自分にカカオトークのメッセージを送信するコードを作成して動かしてみました。

$tokens['access_token'] = '《アクセストークン》';
$data = [
    'template_object' => json_encode([
        'object_type' => 'text',
        'text' => 'Hello, world!',
        'link' => [
            'web_url' => 'https://developers.kakao.com',
            'mobile_web_url' => 'https://developers.kakao.com',
        ],
    ])
];
$response = Http::withHeaders([
    'Authorization' => 'Bearer ' . $tokens['access_token'],
    'Content-Type' => 'application/x-www-form-urlencoded',
])->asForm()->post('https://kapi.kakao.com/v2/api/talk/memo/default/send', $data);
Log::debug('カカオにメッセージ送信結果', ['response' => $response]);

Laravelログを確認したら、以下の結果になりました。

[YYYY-MM-DD hh:mm:ss] local.DEBUG: カカオにメッセージ送信結果 {"response":{"Illuminate\\Http\\Client\\Response":"{\"result_code\":0}"}} 

自分のカカオトークのメッセージを確認したらメッセージが送信されていたことが確認できました。


※参考

お気軽にご相談ください

株式会社アルベではIT、Webを使って皆様の課題解決のお手伝いをしています。
下記のようなお悩みを持つ方は、是非お気軽にご相談ください。

お問い合わせ