Kom ihåg mig?

arbetsformedlingen.se API

 
Ämnesverktyg Visningsalternativ
Oläst 2012-09-04, 10:01 #1
ehsanpo ehsanpo är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2011
Inlägg: 34
ehsanpo ehsanpo är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2011
Inlägg: 34
Exclamation arbetsformedlingen.se API

Har försökt hela natten att få igång det men den vill inte funka!

Tanken va först att fånga xml:et med jquery o sen visa det, men det visade sig att man inte kan fånga xml i cross domain...
Ni kan läsa mer om det här:
http://stackoverflow.com/questions/1...i-using-jquery

så blev tvungen att använda mig av en php proxy vilket jag hitta här:
http://github.com/cowboy/php-simple-proxy/

Men nej! nu har jag problem med [Accept-Language] på header...
ibland funkar den och ibland inte... ibland min webbläsare(testat på FF, chrome,IE) requestar med spec Accept-Language och ibland utan den...
live ex här:
[url]http://ehsanpo.byethost3.com/mmt/proxy.php

om du testa och uppdatera så funkar det ibland....
hittar inte nån info om hur man kan kontakta de som är bakom AFs API heller...

finns det nåt sätt o fixa detta?
ehsanpo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-09-04, 10:16 #2
nosnaj nosnaj är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Mar 2005
Inlägg: 1 012
nosnaj nosnaj är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Mar 2005
Inlägg: 1 012
Är det Arbetsförmedleingen eller ditt proxy-script som klagar på headern?
Om API:et bara är REST-baserat känns det ju minst lika enkelt att bara använda file_get_contents direkt i php.
nosnaj är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-09-04, 10:19 #3
pelmereds avatar
pelmered pelmered är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: May 2010
Inlägg: 1 342
pelmered pelmered är inte uppkopplad
Har WN som tidsfördriv
pelmereds avatar
 
Reg.datum: May 2010
Inlägg: 1 342
Kan du inte bara göra ett server-side-skript(PHP?) som hämtar XML:en med cURL, file_get_contents() eller fopen().
Sedan parsar du XML:en i ditt skript och skriver ut datan du vill ha, företrädelsevis i JSON-format då det funkar väldigt bra med javascript och AJAX. Sedan hämtar du datan ifrån ditt server-side-script mned AJAX.
På det här sättet kan du också enkelt cacha datan på din server för att snabba upp.
pelmered är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-09-04, 11:38 #4
ehsanpo ehsanpo är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2011
Inlägg: 34
ehsanpo ehsanpo är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2011
Inlägg: 34
det är arbetsförmedlingen som klagar... ibland går det genom men oftas inte....
PHP-kod:
{"Error":{"statuskod":400,"titel":"Bad Request","beskrivning":"Felaktig headerparameter: [Accept-Language]"}} 
Har testad med cURL, file_get_contents() och fopen() som ni kan se där nere ifall jag har gjort nåt fel, Har även testad header_remove() men det hjälper inte... cURL känns bäst men den funkar inte helatiden..
Ni kan kolla här själva. Bli inte glad om det kommer rätt första gången! uppdatera!

Jag kan resten själv! de e bara den xml filen som jag inte an få rätt!

PHP-kod:
header("Content-Type: application/json"); 
$homepage file_get_contents('http://api.arbetsformedlingen.se/platsannons/soklista/kommuner?lanid=10');
echo 
$homepage
PHP-kod:
header("Content-Type: application/json"); 
$handle fopen("http://api.arbetsformedlingen.se/platsannons/soklista/kommuner?lanid=10""r");
echo 
$handle
PHP-kod:
header("Content-Type: application/json;charset=UTF-8"); 
function 
get_data($url) {
  
$ch curl_init();
  
$timeout 5;
  
curl_setopt($chCURLOPT_URL$url);
  
curl_setopt($chCURLOPT_RETURNTRANSFER1);
  
curl_setopt($chCURLOPT_HEADERtrue );
  
curl_setopt($chCURLOPT_CONNECTTIMEOUT$timeout);
  
$data curl_exec($ch);
  
curl_close($ch);
  return 
$data;
}
$returned_content get_data('http://api.arbetsformedlingen.se/platsannons/soklista/kommuner?lanid=10');
echo 
$returned_content ;
?> 
ehsanpo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-09-04, 12:25 #5
nosnaj nosnaj är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Mar 2005
Inlägg: 1 012
nosnaj nosnaj är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Mar 2005
Inlägg: 1 012
Testat att skicka med Accept-Language i dina anrop?
nosnaj är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-09-04, 12:59 #6
ehsanpo ehsanpo är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2011
Inlägg: 34
ehsanpo ehsanpo är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2011
Inlägg: 34
Citat:
Ursprungligen postat av nosnaj Visa inlägg
Testat att skicka med Accept-Language i dina anrop?
Japp.. funkar inte heller har testat med
Accept-Language: sv-SE,sv;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Language: sv-SE,sv
Accept-Language: sv-SE,sv;q=0.8
ehsanpo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-09-04, 15:12 #7
Jake.Nu Jake.Nu är inte uppkopplad
Medlem
 
Reg.datum: Oct 2006
Inlägg: 224
Jake.Nu Jake.Nu är inte uppkopplad
Medlem
 
Reg.datum: Oct 2006
Inlägg: 224
Fungerar för mig varenda gång med dessa headers (den säger ju annars vad som fattas.. Accept eller Accept-Language):

Kod:
GET /platsannons/soklista/kommuner?lanid=10 HTTP/1.0
Host: api.arbetsformedlingen.se
Accept: application/json
Accept-Language: sv-se,sv
Connection: close
Jake.Nu är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-09-04, 22:55 #8
ehsanpo ehsanpo är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2011
Inlägg: 34
ehsanpo ehsanpo är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2011
Inlägg: 34
här är koden och här kan du se den live. Hos mig funkar det ibland och ibland inte...
vad är det jag gör för fel?
Testat den både på localhost och webbhotell, med olika webbläsare och är fortfarande samma sak...
PHP-kod:
error_reporting(~0);
ini_set('display_errors'1);
header("Content-Type: application/json;charset=UTF-8"); 
header("Accept-Language:sv-se,sv"); 
header("Accept: application/json");
function 
get_data($url) {
  
$ch curl_init();
  
$timeout 5;
  
curl_setopt($chCURLOPT_URL$url);
  
curl_setopt($chCURLOPT_RETURNTRANSFER1);
  
curl_setopt($chCURLOPT_HEADERtrue );
  
curl_setopt($chCURLOPT_CONNECTTIMEOUT$timeout);
  
$data curl_exec($ch);
  
curl_close($ch);
  return 
$data;
};

$returned_content get_data('http://api.arbetsformedlingen.se/platsannons/soklista/kommuner?lanid=10');

echo 
$returned_content 
ehsanpo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-09-04, 23:34 #9
dAEks avatar
dAEk dAEk är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Dec 2006
Inlägg: 678
dAEk dAEk är inte uppkopplad
Mycket flitig postare
dAEks avatar
 
Reg.datum: Dec 2006
Inlägg: 678
Utan några som helst kunskaper i PHP ser det ut som att du trots allt inte skickar med headern. Du sätter den i din response men inte i anropet mot API:t.

Logga anropen så ser du vad som skickas.
dAEk är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-09-05, 09:42 #10
coredevs avatar
coredev coredev är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Sep 2007
Inlägg: 1 554
coredev coredev är inte uppkopplad
Bara ett inlägg till!
coredevs avatar
 
Reg.datum: Sep 2007
Inlägg: 1 554
Citat:
Ursprungligen postat av dAEk Visa inlägg
Utan några som helst kunskaper i PHP ser det ut som att du trots allt inte skickar med headern. Du sätter den i din response men inte i anropet mot API:t.

Logga anropen så ser du vad som skickas.
Exakt så! Du sätter alltså dina headers i anropet mot ditt javascript, inte mot AF. Jag är ingen expert på cURL, men följande verkar sätta HTTP:headers i anropet:

Kod:
    curl_setopt($cURL,CURLOPT_HTTPHEADER,array (
         'Accept: application/json',
         'Accept-Language:sv-se,sv',
         'Content-Type: application/json;charset=UTF-8'
     ));
coredev är inte uppkopplad   Svara med citatSvara med citat
Svara

Taggar
api, jquery, json, xml


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 15:41.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017