Python OAuth2和用于发布图像的SlackAPI

Python OAuth2和用于发布图像的SlackAPI,python,oauth-2.0,slack,slack-api,Python,Oauth 2.0,Slack,Slack Api,第一个问题:因此,我试图使用slack API中的files.upload API调用将图像发布到特定slack通道。我有客户id和客户机密。我只想让我的团队使用slack进行沟通。如果不通过OAuth 2获得访问令牌,这是可能的吗 第二个问题:在我尝试使用OAuth 2时,我将我的客户机id放入python字典中,然后放入json.dumps()中。我将id存储在“client_id”字段中,但返回的消息是“OAuth message:请指定一个“client_id””。为什么这是一个错误?我

第一个问题:因此,我试图使用slack API中的files.upload API调用将图像发布到特定slack通道。我有客户id和客户机密。我只想让我的团队使用slack进行沟通。如果不通过OAuth 2获得访问令牌,这是可能的吗

第二个问题:在我尝试使用OAuth 2时,我将我的客户机id放入python字典中,然后放入json.dumps()中。我将id存储在“client_id”字段中,但返回的消息是“OAuth message:请指定一个“client_id””。为什么这是一个错误?我应该给它起个“客户id”以外的名字吗


编辑:我找到了问题2的答案。我没有收到我所期望的,但只发送字典而不转换为JSON对象就解决了客户端id问题。

您总是需要一个访问令牌来上载带有Slack API的文件

但是,您可以将Slack应用程序安装到自己的Slack工作区,而无需亲自经历OAuth过程。只需创建Slack应用程序,然后转到应用程序的“安装应用程序”页面。你可以在下面找到

示例屏幕截图:

另一个选项(尽管不推荐)是给我们一个遗留令牌。您可以在此处创建它:

好的,为了清楚起见,我可以转到频道的设置图标,然后单击“添加应用程序”按钮,这样我就不需要执行OAuth过程了?不完全是这样。这与频道无关。您需要将Slack应用程序(与您提到的客户端id相同)安装到Slack workspace。太棒了,谢谢!最后一次跟进。这样做会给我一个新的访问令牌,还是我可以使用files.upload和我的客户端id?我很抱歉,但我不确定我的编辑是否通知了你。这样做会给我一个我使用的新访问令牌,还是只使用我的client\u id/client\u secret发布到工作区?我之所以问这个问题,是因为有人创建了这个应用程序,然后让我写这个应用程序。我只需要知道向他们要什么。不可能直接为API使用客户端id/secret。您始终需要访问令牌。您可以通过使用客户机id/secret通过Oauth获得。如果其他人创建了应用程序,请他们将您添加为“协作者”,这样您就可以访问Slack应用程序。是的,您将获得一个带有“将应用程序安装到工作区”的新访问令牌。