gpt4 book ai didi

javascript - slack chat.postMessage API 端点不允许授权 header

转载 作者:行者123 更新时间:2023-12-05 00:36:17 24 4
gpt4 key购买 nike

我在浏览器中运行了这段代码

<html>

<script type="module">
console.log("working");

var url = "https://slack.com/api/chat.postMessage";
var auth_token = "xoxb-2B"; //Your Bot's auth token
var body = {channel: "ses", text: "testing app"}

async function postData(url = '', data = {}) {
// Default options are marked with *
const response = await fetch(url, {
method: 'POST', // *GET, POST, PUT, DELETE, etc.
headers: {
"Authorization": "Bearer " + auth_token,
"Content-Type" : "application/json"
},
body: JSON.stringify(data) // body data type must match "Content-Type" header
});
return response.json(); // parses JSON response into native JavaScript objects
}

postData('https://slack.com/api/chat.postMessage', body)
.then(data => {
console.log(data); // JSON data parsed by `data.json()` call
});
</script>
</html>
我越来越
CORS 策略已阻止从源“http://127.0.0.1:5500”获取“https://slack.com/api/chat.postMessage”的访问权限:Access-Control 不允许请求 header 字段授权- 预检响应中的允许 header 。
我不明白,我需要以某种方式指定不记名 token ,即使在文档中说将其放在授权 header 中,为什么他们不允许这样做?

最佳答案

I don't understand, I need to specify the bearer token somehow, evenin the docs it says to put it in the Authorization header, why aren'tthey allowing it?


这是一个不同的问题,根本与 Bearer token 无关。
根据您收到的错误,这意味着您用于获取 Slack API 的来源不受信任( http://127.0.0.1:5500 ),您无法从浏览器执行任何操作,因为这是来自定义授权来源的服务器。 ( Learn more about CORS here)
由于我认为 Slack 不支持此功能,因此您需要从服务器获取 Slack API。
解决此问题的一种方法是公开后端 API,例如:


向 Slack 发布消息
Run in Fusebit


router.post('/api/tenant/:tenantId/test', async (ctx) => {
// Create a Slack client pre-configured with credentials necessary to communicate with your tenant's Slack workspace.
// For the Slack SDK documentation, see https://slack.dev/node-slack-sdk/web-api.
const slackClient = await integration.tenant.getSdkByTenant(ctx, connectorName, ctx.params.tenantId);

// Get the Slack user ID associated with your tenant
const slackUserId = slackClient.fusebit.credentials.authed_user.id;

// Send a Direct Message to the Slack user
const result = await slackClient.chat.postMessage({
text: 'Hello world!',
channel: slackUserId,
});

console.log('message response', result.message);
ctx.body = { message: `Successfully sent a message to Slack user ${slackUserId}!` };
});

关于javascript - slack chat.postMessage API 端点不允许授权 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70727979/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com