테스트 사이트 - 개발 중인 베타 버전입니다

시놀로지 챗 webhook 오류 혹시 봐주실 수 있으실까요?ㅠㅠ 채택완료

dlfpire 1년 전 조회 4,856

</p>

<p>function sendMessage() {</p>

<p>    $webhookUrl = "웹훅url";</p>

<p>    $payload = json_encode(array("text" => "test msg"));</p>

<p>   </p>

<p>    echo $webhookUrl;</p>

<p>    echo $payload;</p>

<p> </p>

<p>    $ch = curl_init();</p>

<p>    curl_setopt($ch, CURLOPT_URL, $webhookUrl);</p>

<p>    curl_setopt($ch, CURLOPT_POST, true);</p>

<p>    curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);</p>

<p>    curl_setopt($ch, CURLOPT_HTTPHEADER, array(</p>

<p>        'Content-Type: application/json',</p>

<p>        'Content-Length: ' . strlen($payload)</p>

<p>    ));</p>

<p>    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);</p>

<p>    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);</p>

<p> </p>

<p>    $response = curl_exec($ch);</p>

<p>    if ($response === false) {</p>

<p>        echo 'Curl error: ' . curl_error($ch);</p>

<p>    } else {</p>

<p>        echo 'Response: ' . $response;</p>

<p>    }</p>

<p> </p>

<p>    curl_close($ch);</p>

<p>}</p>

<p> </p>

<p>sendMessage();</p>

<p>

 

안녕하세요 synology chat 사용해서 게시판에 글을 작성하면 시놀로지 챗으로 자동으로 채팅을 보내는 기능 작업 중인데 데이터도 넣었고 json 형식으로도 넣었는데 

 

Response: {"error":{"code":407,"errors":"payload: url and text are both empty"},"success":false}

 

이런 오류가 자꾸 뜹니다

url, text 다 확인해봐도 잘 뜨는데 조언 부탁드립니다.. 감사합니다

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
1년 전

다음 코드가 도움이 될지 모르겠습니다.

 

https://kb.synology.com/ko-kr/DSM/tutorial/How_to_configure_webhooks_and_slash_commands_in_Chat_Integration#x_anchor_id5

https://kb.synology.com/ko-kr/DSM/help/Chat/chat_integration?version=7

</p>

<p>$payload = json_encode(array("text" => "test msg"));</p>

<p>$payload = 'payload=' . $payload;</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

d
dlfpire
1년 전
으악 정말 감사합니다 ㅠㅠ 저걸 curl_setopt 에서 했을 땐 안됐었는데 위에서 해야 되는 거였나봐요
너무 감사합니다

댓글을 작성하려면 로그인이 필요합니다.

1년 전

</p>

<p>$payload = json_encode(array(</p>

<p>"text" => "test msg",</p>

<p>"file_url" => "" // 첨부 파일이 없다면 빈 문자열로 두세요</p>

<p>));</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

d
dlfpire
1년 전
이렇게 해도 오류가 나네요ㅠ 감사합니다
미니님a
1년 전
$payload = json_encode(array(
"text" => "test msg",
"file_url" => "" // 첨부 파일이 없다면 빈 문자열로 두세요
));

을 url 로 변경해보세요

$payload = json_encode(array(
"text" => "test msg",
"url" => "" // 첨부 파일이 없다면 빈 문자열로 두세요
));
d
dlfpire
1년 전
답변해주셔서 감사합니다!

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인