SocialService.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace Themes\kbgolf\pro\app\Services;
  3. use GuzzleHttp\Client;
  4. use Illuminate\Support\Facades\Log;
  5. class SocialService
  6. {
  7. protected $apiUrl = 'https://kapi.kakao.com';
  8. protected $restApiKey;
  9. public function __construct()
  10. {
  11. $this->restApiKey = env('KAKAO_REST_API_KEY');
  12. }
  13. // public function sendMessage($channelId, $args)
  14. // {
  15. // Log::debug('channelId: ' . $channelId);
  16. // // Log::debug('args: ' . json_decode($args));
  17. // $client = new Client([
  18. // 'base_uri' => $this->apiUrl,
  19. // 'headers' => [
  20. // 'Authorization' => 'KakaoAK ' . $this->restApiKey,
  21. // 'Content-Type' => 'application/json',
  22. // ],
  23. // ]);
  24. // // Log::debug('결과: ' . $response);
  25. // // $response = $client->post('/v1/api/talk/channel/' . $channelId . '/message', [
  26. // $response = $client->post('/v1/api/talk/channels/' . $channelId . '/message', [
  27. // 'json' => [
  28. // 'template_object' => [
  29. // 'object_type' => 'text',
  30. // 'message' => $args['message'],
  31. // 'link' => [
  32. // 'web_url' => $args['link_url'],
  33. // ],
  34. // ],
  35. // ],
  36. // ]);
  37. // dd($response);
  38. // return $response->getBody()->getContents();
  39. // }
  40. public function handleService()
  41. {
  42. // GuzzleHttp 클라이언트 생성
  43. $client = new \GuzzleHttp\Client();
  44. try {
  45. // POST 요청 보내기
  46. $response = $client->post('https://kbgolf.daboryhost.com/naver-talk-talk', [
  47. 'json' => ['event' => 'test'],
  48. ]);
  49. // 응답 본문 가져오기
  50. $body = $response->getBody();
  51. $content = $body->getContents();
  52. // 여기서 $content 변수에는 API 서버에서 반환한 데이터가 포함됩니다.
  53. // 필요한 후속 처리를 수행할 수 있습니다.
  54. // 예: JSON 형식의 응답을 배열로 변환하여 사용할 수 있음
  55. $responseData = json_decode($content, true);
  56. // 반환된 데이터 확인
  57. print_r($responseData);
  58. } catch (\GuzzleHttp\Exception\RequestException $e) {
  59. // 예외 처리: 요청이 실패한 경우
  60. echo "Request failed: " . $e->getMessage();
  61. }
  62. }
  63. }