首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >403-ERR_BAD_ Request :当我使用get和post进行React时,使用状态代码403的请求失败-聊天引擎api

403-ERR_BAD_ Request :当我使用get和post进行React时,使用状态代码403的请求失败-聊天引擎api
EN

Stack Overflow用户
提问于 2022-07-02 12:32:58
回答 2查看 577关注 0票数 0

请告诉我我做错了什么,为什么我有403个axiosError?我使用的是React v17和axios v0.27.2和react聊天引擎v1.11.23。我怎样才能解决这个问题?

这里是我的imports

代码语言:javascript
复制
import React, { useState, useEffect, useContext } from "react";
import { useNavigate } from "react-router-dom";
import { ChatEngine } from "react-chat-engine";
import axios from "axios";

// Contexts
import { AuthContext } from "../contexts/AuthContextProvider";

,这是主要代码

代码语言:javascript
复制
const Chats = () => {
    const [loading, setLoading] = useState(true);
    const user = useContext(AuthContext);
    const navigate = useNavigate();

    useEffect(() => {
        if (!user) {
            navigate("/");
            return;
        }
        axios
            .get("https://api.chatengine.io/users/me/", {
                headers: {
                    "Project-ID": "6e1e7008-716b-4141-a15c-836f05f720dd",
                    "User-Name": user.email,
                    "User-Secret": user.uid,
                },
            })
            .then(() => {
                setLoading(false);
            })
            .catch(() => {
                let formdata = new FormData();
                formdata.append("email", user.email);
                formdata.append("username", user.email);
                formdata.append("secret", user.uid);
                getFile(user.photoURL).then((avatar) => {
                    formdata.append("avatar", avatar, avatar.name);
                    axios
                        .post("https://api.chatengine.io/users/", formdata, {
                            headers: {
                                "private-key":
                                    "8094d378-e224-4558-97bf-35ca877f8f8e",
                            },
                        })
                        .then(() => setLoading(false))
                        .catch((error) => console.log(error));
                });
            });
    }, [user, navigate]);

    const getFile = async (url) => {
        const response = await fetch(url);
        const data = await response.blob();
        return new File([data], "userPhoto.jpg", { type: "image/jpeg" });
    };

    if (!user || loading) return "Loading...";

    return (
        <div>
            <ChatEngine
                height="calc(100vh - 50px)"
                projectID="6e1e7008-716b-4141-a15c-836f05f720dd"
                userName={user.email}
                userSecret={user.uid}
            />
        </div>
    );
};

export default Chats;

另外,当我点击api时,打开一个页面并编写HTTP 403禁忌。一般情况下,我无法访问api和聊天引擎。

谢谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2022-07-03 00:57:32

要连接到api服务器,您需要一个放在项目仪表板API Keys部分的私钥。然后使用它作为axios头。您可以从正式的POST示例这里中看到该示例

代码语言:javascript
复制
headers: {
   'PRIVATE-KEY': '{{private_key}}'
},
票数 0
EN

Stack Overflow用户

发布于 2022-10-19 13:27:13

同样的代码,我也有同样的问题。我通过更改VPN服务来修复它。请检查您的私钥并与其他VPN服务进行测试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72839077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档