The Movie Database 支持

{ status_code: 7, status_message: "Invalid API key: You must be granted a valid key.", success: false }

Getting this but I have doubled checked my api key and copied it and pasted but although getting the same message..

URL using for my fetch() functions

const API_BASE_URL = "https://api.themoviedb.org/3";

const API_KEY = import.meta.VITE_TMDB_API_KEY;

const API_OPTIONS = {
  method: 'GET',
  headers: {
    Accept: "application/json",
    Authorization: `Bearer ${API_KEY}`
  }
}

function App() {
  const [searchTerm, setSearchTerm] = useState('');
  const [errorMessage, setErrorMessage] = useState(null);

  const fetchMovies = async () => {
    try {
      const endpoint = `${API_BASE_URL}/discover/movie?sort_by=popularity.desc`;
      const response = await fetch(endpoint, API_OPTIONS);

      if (!response.ok) {
        throw new Error("Sorry");
      } else {
        const data = await response.json();
        if (data.response == 'false') {
          setErrorMessage(data.error || 'failed to fetch movies.');
        }
        console.log(data);
      }
    } catch (error) {
      console.error(`Error fetching movies : ${error}`);
      setErrorMessage(`Error fetching movies, please try again later.`);
    }
  }

  useEffect(() => {
    fetchMovies();
  }, []);

2 回复(第 1 页,共 1 页)

Jump to last post

Can you post here a real example of what the API Request sent to the TMDb servers is?
Maybe in the console.
Only then can we find out where the error is in the Request.

Problems with API Request

In order for someone to help you with API Request questions,
it is critical that you post here the API Request you are sending to the TMDb server.
Remember to replace your Key with MY_KEY , YOUR_KEY , THE_KEY , or something like that.

Not the programming code/script you used to build the API Request.
But the API Request that is sent to the TMDb server.
Or the API Request you would like to send.

@yadavkumarshivam,

I'm going to assume based on your variable names, that you're passing the API key in as a Bearer token. That is not supported. If you want to use header authentication, you need to pass your access token.

The docs outline this use case. You can read that here.

找不到电影或节目?登录并创建它吧。

全站通用

s 聚焦到搜索栏
p 打开个人资料菜单
esc 关闭打开的窗口
? 打开键盘快捷键窗口

在媒体页面

b 返回(或返回上级)
e 进入编辑页面

在电视季页面

(右箭头)下一季
(左箭头)前一季

在电视集页面

(右箭头)下一集
(左箭头)上一集

在所有图像页面

a 打开添加图片窗口

在所有编辑页面

t 打开翻译选择器
ctrl+ s 提交

在讨论页面

n 创建新讨论
w 切换关注状态
p 设为公开 / 私密讨论
c 关闭 / 开放讨论
a 打开活动页
r 回复讨论
l 跳转至最新回复
ctrl+ enter 发送信息
(右箭头)下一页
(左箭头)前一页

设置

想给这个条目评分或将其添加到片单中?

登录

还不是会员?

注册加入社区