You can avoid the error by encoding the request payload as ‘utf-8’. This is mandatory if the user is trying to screen names with special characters. This is done to properly calculate the content string length.
As per my understanding, it’s the length of the content sent to the API which determines that the request will succeed or not, if your request contains special characters.
First the content body should be converted to UTF-8 and then the length of the content should be calculated. Putting it simply, the length of UTF-8 encoded content is different than the normal payload body. Hence the error.
I advise you to send the same request using Postman. If it is successful, check the authorization headers and the content length in it and make sure the authorization header and the content length you are sending via your code is also the same. This should give you a success response.
Please do not include “charset”=UTF-8 as headers while sending your request, this will not solve the problem. We do not expect the charset in the request and hence it will result in error.
Kindly let me know if this works for you.