ChatWork API를 두드려 보면 오류가 발생한 이야기 등
5993 단어 Chatwork
ChatWork API를 두드려 메시지 게시
chatwork의 API를 문서(이하 URL)를 참고로 하면
ぇぇぺぺr. 제대로 rk. 코 m/쟈/엔 d포인 t_로오 ms. html #포 ST-로오 ms-로오 m_이 d-메사게 s
curl -X POST -H "X-ChatWorkToken: 自分のAPIトークン" -d "body=Hello+ChatWork%21" "https://api.chatwork.com/v2/rooms/{room_id}/messages"
와 파라미터를 지정하고 두드리면 메시지가 등록되는 것 같습니다.
room_id : 채팅 작업실 URL의 #!rid 이후의 값
API 토큰 : 계정별로 발행 할 수있는 API 토큰 값
Guzzle에서 두드려 보았습니다.
// xxxxxは各自設定を行う
define('ROOM_ID', 'xxxxxxx');
define('API_TOKEN', 'xxxxxxxxxxxxxxxxxxxxxx');
try {
$client = new GuzzleHttp\Client();
$request_url = "https://api.chatwork.com/v2/rooms/". ROOM_ID ."/messages";
$client->post($request_url, [
'headers' => ['X-ChatWorkToken' => API_TOKEN],
'body' => ['body' => 'hogehoge']
]);
} catch (GuzzleHttp\Exception\ClientException $e) {
echo $e->getResponse()->getStatusCode();
exit;
}
이것을 실행하면,
그리고 게시되었습니다!
에러한 체험담
에러한 1(스테이터스 코드:400)
API를 두드릴 때 body의 내용이 빈 문자이면 400이 반환됩니다.
위의 경우에는 오류가 발생하지 않았지만,
문자수가 너무 많은 경우에도, 400이 돌아오는 거동같습니다. 이 경우에 에라리했습니다.
이것은 조사해도 해당 문서가 발견되지 않고, 아직 잘 모르지만,
body에 바이트수 제한 혹은 문자수 제한이 있는 것이 아닐까 생각하고 있습니다.
그건 그렇고
$hoge = '';
foreach (range(1,20000) as $value) {
$hoge .= 'hoge';
}
try {
$client = new GuzzleHttp\Client();
$request_url = "https://api.chatwork.com/v2/rooms/". ROOM_ID ."/messages";
$client->post($request_url, [
'headers' => ['X-ChatWorkToken' => API_TOKEN],
'body' => ['body' => $hoge]
]);
} catch (GuzzleHttp\Exception\ClientException $e) {
echo $e->getResponse()->getStatusCode();
exit;
}
그렇다면 400이 반환되었습니다.
hoge*10000이라면 200이었으므로, 이 근처에 상한이 있을 것 같습니다.
저도 이 문자수 너무 많은 문제로 어떻게 할까 생각하고 있는 곳입니다. .
마음이 가득한 사람은 확인할 수 있습니다.
에러한 예 2(스테이터스 코드:401)
액세스 토큰이 만료되면 401이 리턴됩니다.
잘못된 API 토큰을 설정한 경우 401이 반환되었습니다.
올바른 API 토큰인지 확인합니다.
이상입니다.
Reference
이 문제에 관하여(ChatWork API를 두드려 보면 오류가 발생한 이야기 등), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/39taro/items/a012de576c43effcd280
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
curl -X POST -H "X-ChatWorkToken: 自分のAPIトークン" -d "body=Hello+ChatWork%21" "https://api.chatwork.com/v2/rooms/{room_id}/messages"
// xxxxxは各自設定を行う
define('ROOM_ID', 'xxxxxxx');
define('API_TOKEN', 'xxxxxxxxxxxxxxxxxxxxxx');
try {
$client = new GuzzleHttp\Client();
$request_url = "https://api.chatwork.com/v2/rooms/". ROOM_ID ."/messages";
$client->post($request_url, [
'headers' => ['X-ChatWorkToken' => API_TOKEN],
'body' => ['body' => 'hogehoge']
]);
} catch (GuzzleHttp\Exception\ClientException $e) {
echo $e->getResponse()->getStatusCode();
exit;
}
이것을 실행하면,
그리고 게시되었습니다!
에러한 체험담
에러한 1(스테이터스 코드:400)
API를 두드릴 때 body의 내용이 빈 문자이면 400이 반환됩니다.
위의 경우에는 오류가 발생하지 않았지만,
문자수가 너무 많은 경우에도, 400이 돌아오는 거동같습니다. 이 경우에 에라리했습니다.
이것은 조사해도 해당 문서가 발견되지 않고, 아직 잘 모르지만,
body에 바이트수 제한 혹은 문자수 제한이 있는 것이 아닐까 생각하고 있습니다.
그건 그렇고
$hoge = '';
foreach (range(1,20000) as $value) {
$hoge .= 'hoge';
}
try {
$client = new GuzzleHttp\Client();
$request_url = "https://api.chatwork.com/v2/rooms/". ROOM_ID ."/messages";
$client->post($request_url, [
'headers' => ['X-ChatWorkToken' => API_TOKEN],
'body' => ['body' => $hoge]
]);
} catch (GuzzleHttp\Exception\ClientException $e) {
echo $e->getResponse()->getStatusCode();
exit;
}
그렇다면 400이 반환되었습니다.
hoge*10000이라면 200이었으므로, 이 근처에 상한이 있을 것 같습니다.
저도 이 문자수 너무 많은 문제로 어떻게 할까 생각하고 있는 곳입니다. .
마음이 가득한 사람은 확인할 수 있습니다.
에러한 예 2(스테이터스 코드:401)
액세스 토큰이 만료되면 401이 리턴됩니다.
잘못된 API 토큰을 설정한 경우 401이 반환되었습니다.
올바른 API 토큰인지 확인합니다.
이상입니다.
Reference
이 문제에 관하여(ChatWork API를 두드려 보면 오류가 발생한 이야기 등), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/39taro/items/a012de576c43effcd280
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$hoge = '';
foreach (range(1,20000) as $value) {
$hoge .= 'hoge';
}
try {
$client = new GuzzleHttp\Client();
$request_url = "https://api.chatwork.com/v2/rooms/". ROOM_ID ."/messages";
$client->post($request_url, [
'headers' => ['X-ChatWorkToken' => API_TOKEN],
'body' => ['body' => $hoge]
]);
} catch (GuzzleHttp\Exception\ClientException $e) {
echo $e->getResponse()->getStatusCode();
exit;
}
Reference
이 문제에 관하여(ChatWork API를 두드려 보면 오류가 발생한 이야기 등), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/39taro/items/a012de576c43effcd280텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)