カカオトークでメッセージを送信する処理を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}"}} 

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


※参考

関連記事

コメント

この記事へのコメントはありません。

カテゴリー

お問い合わせはコチラ!