When using the authorization header, a call to https://api.themoviedb.org/3/account works (falls back to default id?).
however, a call to https://api.themoviedb.org/3/account?api_key=*** (without authorization header) doesn't work.
Is this by design? any other differences in using the header instead of query parameter?
¿No encuentras una película o serie? Inicia sesión para crearla:
¿Quieres puntuar o añadir este elemento a una lista?
¿No eres miembro?
Contestado por Racusthor
el 2 de marzo de 2025 a las 07:17
does anyone know?
Contestado por Victor Franco
el 2 de marzo de 2025 a las 12:30
Yes, this is intentional. The MovieDB API has different authentication levels:
1. Using the
api_key
in the URLThe
api_key
works for public requests, such as fetching movies or general information.It does not work for requests that require user authentication.
2. Using the Authorization Header (
Authorization: Bearer <token>
)Required for authenticated requests, like retrieving user-specific data (e.g.,
/account
).The API expects a user authentication token rather than just an API key.
3. Why does
/account
require authentication in the header?The
/account
endpoint returns user-specific data.An
api_key
alone is not enough because it does not identify a specific user.Instead, the API requires an OAuth 2.0 Access Token.
How to fix it?
The user must generate an OAuth 2.0 Access Token and include it in the request header:
This ensures the API knows which user account is making the request.