The API endpoint /users//publish.json does not accept an empty parts.text.body, or even "" (which is technically not empty)
But actually Fb/In do accept empty message if there's a link/video or picture attached. Their API docs state this:
Facebook:
Either link, place, or message must be supplied.
Twitter:
status is required. But you could filter this out when posting to multiple providers, instead of rejecting all publications.
LinkedIn:
comment is not required
Is it possible that you change this implementation and accept an empty parts.text.body if there's an link/video/picture?
Thanks