You are not logged in.
- Topics: Active | Unanswered
Announcement
Pages: 1
#1 2019-04-09 21:23:56
- sharport
- Member
- Registered: 2019-04-09
- Posts: 6
oauth/request_token
ciao a tutti ,
sono nuovo nel forum e vi chiedo se qualcuno può darmi una mano per accedere alla lettura delle mappe di osm.
riepilogo cosa ho fatto :
mi sono iscritto a osm e ho creato una applicazione fornendo un url e ricevendo questi dati
Chiave del consumatore: GsRr55jH...........
Codice segreto dell'utilizzatore: egTRXqO.........
URL del token di richiesta: https://www.openstreetmap.org/oauth/request_token
URL del token di accesso: https://www.openstreetmap.org/oauth/access_token
Autorizza URL: https://www.openstreetmap.org/oauth/authorize
La mia necessità è di aggiungere le mappe al nostro CRM ottenendo prima i geocode dei clienti ( fornendo gli indirizzi) e poi i tile delle mappe fornendo lat e long.
premetto che sono un programmatore c# e la applicazione è MVC 4.0 e che volevo accedere a osm senza librerie di terze parti.
ho trovato un buon riferimento qui https://stackoverflow.com/questions/473 … ng-c-sharp ed un altro qui https://stackoverflow.com/questions/106 … -libraries dove spiega la logica ...
Ora il punto è che il server osm continua a rispondere server error 500 e non capisco perchè. ( se volete vi posto poi anche il codice ). ma la cosa strana è che se io apro una pagina di un browser e scrivo https://www.openstreetmap.org/oauth/request_token mi da lo stesso errore ...
la domanda è : E' sbagliato l'url o sono i parametri errati ??
qualcuno mi può dare una mano ??
grazie a tutti
giorgio
PS : per curiosità vi posto la signaturebase ottenuta dai vari passaggi :
GET%26https%3A%2F%2Fwww.openstreetmap.org%2Foauth%2Frequest_token%26oauth_consumer_key%3DGsRr55jHSSv8VWnMgLHjaVKZxgvca4UGOo4Tk8OG%26oauth_nonce%3DMTU1NDgzOTgzMg%253D%253D%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1554839832%26oauth_token%3D%26oauth_version%3D1.0
... che a me pare stia in piedi, cioè mi aspetteri una bad request ma non un 500.
Offline
#2 2019-04-11 07:29:37
- Andreas Lattmann
- Member
- Registered: 2016-11-04
- Posts: 40
Re: oauth/request_token
Si effettivamente è strano che restituisca un Internal Server Error.
Due cose: il forum è poco attivo perché la comunita italiana preferisce la Mailing List.
C'è una sezione nel forum / ml per i developer .
Ora ho girato la tua richiesta in ml, aspetto risposta e la posto qua.
Appena ho un attimo di tempo ti fornisco degli strumenti utili per lavorare con OSM.
Terzo, hai verificato le policy per le chiamate ad OSM?
P.S.: rimango a disposizione per ulteriori domande.
Contact me (andrea@testrun.org) via Delta Chat Messenger: https://delta.chat/
Offline
#3 2019-04-11 09:55:23
- sharport
- Member
- Registered: 2019-04-09
- Posts: 6
Re: oauth/request_token
ok , grazie Andreas
aspetto news
Offline
#4 2019-04-11 16:16:09
- IlBano
- Member
- Registered: 2019-04-11
- Posts: 5
Re: oauth/request_token
...
La mia necessità è di aggiungere le mappe al nostro CRM ottenendo prima i geocode dei clienti ( fornendo gli indirizzi) e poi i tile delle mappe fornendo lat e long.
Se devi mostrare mappe o fare semplice geocoding, e quindi non devi editare la mappa, non ti serve avere un token di accesso.
Il problema nasce però dall'uso che ne vuoi fare perchè i sistemi della OSM foundation che ti possono dare questi servizi "gratis" (ovvero il tile server [1] e il geocoder [2]) non sono dimensionati per gestire accessi massivi da applicazioni.
Se superi i limiti delle usage policy [3] e [4] devi attivare questi servizi su tue istanze oppure affidarti a servizi di terze parti come Mapbox (che per quanto mi risulta prevede anche un free tier). In questo modo eviti sorprese per i tuoi utenti come sconnessioni dai siti OSM per uso improprio.
Ciao
[1] https://wiki.openstreetmap.org/wiki/Tile_servers
[2] https://wiki.openstreetmap.org/wiki/Nominatim
[3] https://operations.osmfoundation.org/policies/tiles/
[4] https://operations.osmfoundation.org/po … nominatim/
Offline
#5 2019-04-15 08:40:08
- sharport
- Member
- Registered: 2019-04-09
- Posts: 6
Re: oauth/request_token
ciao new member,
( scusa per il ritardo con cui ti scrivo ma ero fuori sede)
Ti ringrazio per le info che mi hai dato , sono state molto utili. Innanzi tutto volevo dirti che l'uso che ne vogliamo fare noi è molto limitato , si tratta di qualche decina di chiamate ogni tanto, cioè quando i commerciali vanno a trovar i clienti.
Detto ciò , in realtà noi vogliamo utilizzare osm perchè ci piace.
Dopo le tue dritte ho riletto meglio le policie s in particolare queste "HTTP Referer or User-Agent" e mi sono accorto che le chiamate che io facevo non avevamo HTTP Referer o User-Agent ( se ho capito bene i concetti ) in quanto sono chiamate da c# dal server.
allora ho inserito nella chiamata "https://nominatim.openstreetmap.org/search?" ... anche la keyword email={nome user osm} .....e improvvisamente tutto ha funzionato. ( però non cè scritto da nessuna parte ...acc)
Ora vorrei provare ancora la chiamata a "//router.project-osrm.org/viaroute?"....
..allora. mi potresti spiegare questo meccanismo ??? ..e che cosa dovrei mettere nella chiamata c# come "HTTP Referer o User-Agent" ??.
ultima cosa ..che significa editare le mappe ??
ciao e grazie ancora per l'aiuto.
@Andreas Lattmann se trovi degli snippet di codice funzionante te ne sono grato ..
Offline
#6 2019-04-15 10:07:11
- sharport
- Member
- Registered: 2019-04-09
- Posts: 6
Re: oauth/request_token
scusa IIBano ,
Ho provato ad inserire nella chiamata ( nel mio primo post ) :
var httpWebRequest = (HttpWebRequest) WebRequest.Create(url);
httpWebRequest.Method = "GET";
httpWebRequest.Referer="http://crm.miosito.net";
..pensando di avere risolto il problema ...e invece NO. Stesso errore 500 internal server error .
Offline
#7 2019-04-15 15:11:16
- IlBano
- Member
- Registered: 2019-04-11
- Posts: 5
Re: oauth/request_token
E' obbligatorio passare uno user agent nella GET, mentre non lo è per il referer.
Lo user agent è una stringa arbitraria che identifica il tuo client HTTP e te la inventi... ad esempio mycrm1.0. Più è specifica e più sei certo che identifichi univocamente la tua app.
Per settarla usa la proprietà opportuna della classe httpWebRequest perchè non penso ci sia un default.
La chiamata a Nominatim con il parametro email (e un indirizzo valido come valore) mi sembra una buona idea.
Vedo che ora hai bisogno anche di fare routing... anche qui proverei con Mapbox o le API di www.openrouteservice.org.
Editare le mappe significa chiamare le API di Openstreetmap per inserire nuovi elementi nella mappa come nodi o way
Ciao
Offline
#8 2019-04-16 14:19:53
- sharport
- Member
- Registered: 2019-04-09
- Posts: 6
Re: oauth/request_token
grazie IIBano,
ero arrivato a fuochino... ora tu mi dato la dritta che cercavo... con user agent ( che non sapevo fosse obbligatorio) .. ora provo.
per quanto riguarda il routing non posso chiamare https://router.project-osrm.org/viaroute? ??? che vantaggi ho nell'utilizzo di Mapbox ??
Offline
#9 2019-04-16 14:26:32
- sharport
- Member
- Registered: 2019-04-09
- Posts: 6
Re: oauth/request_token
Ciao IIBano , ho provato nella chiamata a inserire httpWebRequest.UserAgent = "crm.miocrm.net"; ma mi continua a dare server error 500 con lo status a WebExceptionStatus.ProtocolError=7
continuo a non capire l'errore...
qualche altra indicazione ??
Offline
#10 2019-04-16 16:08:51
- IlBano
- Member
- Registered: 2019-04-11
- Posts: 5
Re: oauth/request_token
per quanto riguarda il routing non posso chiamare https://router.project-osrm.org/viaroute? ??? che vantaggi ho nell'utilizzo di Mapbox ??
A quell'indirizzo da browser si ottiene un bel not found. Dove l'hai trovato ?
Mi sembra comunque che nel sito di project OSRM vengano utilizzati i servizi di Mapbox
Per quanto riguarda il 500 qual'è l'url completo della chiamata che fai ? Hai provato a metterlo in un browser e a vedere cosa succede ?
Offline
Pages: 1