menu

De Site / Algemeen / MovieMeter API / webservice

zoeken in:
avatar van Jordy
Dit zul je moeten vragen aan de makers / gebruikers van dat product.

Goedemorgen Jordy,

Ik zit wat te experimenteren met de API, maar ik loop meteen tegen een probleem aan. Als ik via jQuery (ik neem aan dat voor gewoon JavaScript precies hetzelfde geldt, maar ik heb het niet getest) krijg ik lege responses; dezelfde url via de browser geeft wel het correcte resultaat terug.

Meer precies: als ik de url 'http://www.moviemeter.nl/api/film/5208?api_key=MY_KEY' aanroep via jQuery's get methode krijg ik de volgende foutmelding:

XMLHttpRequest cannot load http://www.moviemeter.nl/api/film/5208?api_key=MY_KEY. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://blahblah' is therefore not allowed access.

Daarbij maakt het niet uit of ik de api via http of https benader, of ik localhost, een locale server of een 'echte' webserver gebruik om mijn testprojectje te hosten, en of ik $.get dan wel $.ajax gebruik voor het ophalen van de data.

Als ik dezelfde url plak in een browser-venster krijg ik wel de juiste info.

Heb jij een idee wat hier mis gaat? Alvast bedankt!

avatar van Solidjeuh
In De Site > Algemeen > Moviemeter BBcode:

Hallo,

Ik heb een API key aangemaakt.
Maar ik snap niet helemaal goed hoe ik nu een BBcode kan maken om de film info op mijn forum te tonen. Kan iemand me hierbij helpen, of deze aanmaken aub?

avatar van SiWoC
In De Site > Algemeen > REST-api geeft 403:

Ik ben bezig een applicatie te bouwen die de api gebruikt.
Tot voor kort werkte het allemaal prima, maar nu krijg ik opeens 403 Forbidden terug.
Als ik diezelfde URL in Chrome plak werkt de URL prima. (dus de url en api-key zijn OK)

Is er iets aan de api veranderd?
Moet ik iets extra mee gaan geven bij mijn requests? (headers oid)

SiWoC schreef:
In De Site > Algemeen > REST-api geeft 403:

Ik ben bezig een applicatie te bouwen die de api gebruikt.
Tot voor kort werkte het allemaal prima, maar nu krijg ik opeens 403 Forbidden terug.
Als ik diezelfde URL in Chrome plak werkt de URL prima. (dus de url en api-key zijn OK)

Is er iets aan de api veranderd?
Moet ik iets extra mee gaan geven bij mijn requests? (headers oid)

Goedemorgen Jordy,

Ik heb het zelfde probleem.
Een applicatie die het al jaren doet, werkt sinds kort niet meer.
Elke http/https query vanuit de app krijgt als antwoord "403 Forbidden".
Die zelfde query vanuit de browser werkt wel.
Doe ik iets verkeerd?

Alvast bedankt,
nightbird

avatar van meter_fan
Goedemorgen nightbird123 ,

Mag ik een kleine inzage in hoe je de call doet naar de API? Wellicht het delen van een stukje code? Dan gaan we het voor je uitzoeken.

Bedankt.

Roy

meter_fan schreef:
Goedemorgen nightbird123 ,

Mag ik een kleine inzage in hoe je de call doet naar de API? Wellicht het delen van een stukje code? Dan gaan we het voor je uitzoeken.

Bedankt.

Roy

Hallo Roy,

Bedankt voor uw reactie.

De applicatie is geschreven in Delphi 7, maar compileert evengoed in Delphi 10.1 Berlin.
Deze maakt gebruik van de Indy Internet suite Indy10.6.2.5341 (Zit bij Delphi 10.1 Berlin)

Web Call geïsoleerd in een Test Progie:

procedure TMainForm.butTestClick(Sender: TObject);
var
.....http : TIdHTTP;
.....request : string;
.....response : string;
begin
.....request:='http://www.moviemeter.nl/api/film/1126578?api_key='+MM_API_KEY;
.....http:=TIdHTTP.Create(nil);
.....try
..........try
...............response:=http.Get(request);
..........except response:=Exception(exceptObject).Message end;
.....finally http.free end;
end;

Geeft als Resultaat: "HTTP/1.1 403 Forbidden"

De https call geeft hetzelfde resultaat.
Tot vorige week werkte de applicatie.
Vanuit de webbrowser werkt de http & https call wel.

De layout van dit antwoord ziet er niet goed uit in dit proportionele lettertype.
Maar ik kan u ook iets mailen.

Laat maar iets weten en alvast bedankt,
nightbird.

"HTTP/1.1 403 Forbidden" Probleem opgelost.

Met wireshark de http headers van mijn app en die van een request uit Chrome vergeleken.

UserAgent "Mozilla/3.0 (compatible; Indy Library)" wordt blijkbaar sinds kort niet meer ondersteund of is gebanned. (Er is blijkbaar nogal wat malware geschreven mbv de Indy library)

Door UserAgent te overrulen met "Mozilla/4.0 (compatible; Indy_Library)" werkt het voorlopig wel weer. Ook de spatie tussen Indy & Library vervangen door een underscore.

Hopelijk hebben andere ontwikkelaars hier ook iets aan.
Succes!

nightbird

avatar van SiWoC
Wat blijkbaar ook gebeurd is, is dat HTTP nu "301 Moved Permanently" geeft, en dat je dus HTTPS moet gebruiken.
Echter zijn de URL's in de MovieDetails nog HTTP, dus die zul je ofwel moeten herschrijven/replacen naar HTTPS, of de redirects naar HTTPS volgen die je terugkrijgt.

Ik heb maar het laatste ingebouwd in mijn Java prog met behulp van dit antwoord van StackOverflow:
java - HTTPURLConnection Doesn't Follow Redirect from HTTP to HTTPS - Stack Overflow - stackoverflow.com

avatar van Metalfist
geplaatst:
Heeft er iemand een werkend REST voorbeeld voor te zoeken naar een film?
'https://www. moviemeter.nl/api/film/1126578?key=MM_KEY' werkt perfect, maar bij 'https://www. moviemeter.nl/api/film/?q=6%20underground&key=MM_KEY' krijg ik geen resultaten.

Ik ben wat afgegaan op de wiki maar ik heb het gevoel dat die al een tijdje niet meer geüpdate is waar dit voorbeeld in staat:
'https://www. moviemeter.nl/api/film/?q=brave%20little%20toaster&api_key=YOUR_API_KEY'

edit: zonder spaties natuurlijk tussen www. en moviemeter maar anders werd het bericht onleesbaar

avatar van meter_fan
geplaatst:
Goedemiddag Metalfirst,

Als ik de volgende url aanroep, zie ik resultaten:

https://www.moviemeter.nl/api/film/?q=6%20underground&api_key=MM_KEY

De manier van aanroepen via &key is onjuist.

Hopelijk kun je zo verder!

avatar van Metalfist
geplaatst:
Ben je daar zeker van meter_fan? Want als ik &api_key gebruik, dan krijg ik deze foutmelding:
https://i.imgur.com/njGtJJo.png

Ook apitester.com geeft dezelfde foutmelding:
https://i.imgur.com/Bai2z6f.png

Als ik het met &key doe, dan krijg ik wel resultaat
https://i.imgur.com/NLTkTIG.png

avatar van Metalfist
geplaatst:
meter_fan Het is volgens mij ook ?api_key ipv &api_key maar dan krijg ik gewoon:
<!DOCTYPE html>
<html class="mome">
<head> <title>MovieMeter.nl</title>



<meta http-equiv="X-UA-Compatible" content="IE=edge" />

edit: als ik dan https://www. moviemeter.nl/api/film/1126578&api_key=MM_KEY gebruik, dan krijg ik:
De door jou opgevraagde pagina kan helaas niet worden gevonden.

Ofwel ben ik echt verkeerd bezig, ofwel klopt daar toch iets niet?

avatar van Metalfist
geplaatst:
Aha, ik deed effectief iets verkeerd API Key aangemaakt via MovieMeter.nl - De filmsite voor liefhebbers en dan werkt het wel zoals verwacht. Vreemd dat het met die andere key dan soms wel lijkt te lukken maar bon, ik kan weer even verder.

avatar van Metalfist
geplaatst:
Is er trouwens een reden meter_fan dat niet alle alternatieve titels worden meegenomen?
Bijvoorbeeld
https://www. moviemeter.nl/api/film/?q=The%208%20Diagram%20Pole%20Fighter&api_key=MM_KEY
Wu Lang Ba Gua Gun (1984)
geeft:
[{"id":22533,"title":"Wu Lang Ba Gua Gun","year":1984,"votes":21,"average":3.67,"info":"Actie \/ Drama, 93 minuten\ngeregisseerd door Chia-Liang Liu\nmet Chia Hui Liu, Sheng Fu en Lily Li\n","alternative_title":"Invincible Pole Fighter"}]
Zou wel handig zijn als die ook allemaal doorzoekbaar zijn. Zeker omdat de zoekfunctie ze wel correct linkt, maar dat de respons niet alles weergeeft

Gast
geplaatst: vandaag om 09:40 uur

geplaatst: vandaag om 09:40 uur

Let op: In verband met copyright is het op MovieMeter.nl niet toegestaan om de inhoud van externe websites over te nemen, ook niet met bronvermelding. Je mag natuurlijk wel een link naar een externe pagina plaatsen, samen met je eigen beschrijving of eventueel de eerste alinea van de tekst. Je krijgt deze waarschuwing omdat het er op lijkt dat je een lange tekst hebt geplakt in je bericht.

* denotes required fields.