slackapi / java-slack-sdk

Slack Developer Kit (including Bolt for Java) for any JVM language
https://slack.dev/java-slack-sdk/
MIT License
571 stars 212 forks source link

Slack files have inconsistent privacy when calling upload APIs on different platforms #1335

Closed bytealan closed 2 months ago

bytealan commented 2 months ago

My program running process is as follows: filesUploadV2 (Params no channel id. Get file id) - > chatPostMessage (Slack image block)

The results of deploying on different platforms are as follows: It can be sent normally in Windows. In Linux chatPostMessage returns invalid_blocks

I know I need to call sharedPublicURL to make the file public But Windows can send messages normally without calling it.

The Slack SDK version

1.40.2

Java Runtime version

1.8

seratch commented 2 months ago

Hi @bytealan, thanks for asking the question! The API client in this SDK never behaves differently depending on the operating system. I'd suggest double-checking how the running code is different. Also, adding debug-level logging to see how the blocks look may help you identify the error pattern.

bytealan commented 2 months ago

Hi @seratch,Thanks for your reply! The Blocks error details are "/blocks/0/accessory/slack_file url/slack_file".I'm sure different platforms use the same code. By the way, which is the expected result correct? When I use filesUploadV2 without passing in the channel id File id obtained Can I send messages normally when calling chatPostMessage?

seratch commented 2 months ago

Perhaps, your situation is the same with this one: https://github.com/slackapi/python-slack-sdk/issues/1521 Please poll files.info API until the async file uploading process is complete. Once it's done, mime_type etc. will be filled in the file object data in the API response. Then, you can use the file in a block.

bytealan commented 2 months ago

Perhaps, your situation is the same with this one: slackapi/python-slack-sdk#1521 Please poll files.info API until the async file uploading process is complete. Once it's done, mime_type etc. will be filled in the file object data in the API response. Then, you can use the file in a block.

Ok, I will try this away. Thanks your answer question again.