Ho creato questo codice semplice in Perl
per connettere Microsoft OneDrive API
e elencare file e cartelle. Ma ora mi fermo per ottenere un token di accesso.Il client Microsoft OneDrive API in Perl non può ottenere il token di accesso
Ho letto il Microsoft's documentation per scoprirlo, ma non ho trovato nulla.
Ecco il codice:
#!/usr/bin/perl -w
use strict;
use LWP; use LWP::UserAgent;
my $client_id = '...';
my $client_secret = '...';
my $client_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36'; # whatever
my $ua = new LWP::UserAgent;
$ua->->show_progress(1); # Microsoft use url redirection and I want to see the steps
$ua->agent($client_agent);
$ua->timeout(30);
my $URL = 'https://login.live.com/oauth20_desktop.srf'; # from documentation
my @params = (
"client_id=".$client_id,
"scope=onedrive.readonly",
"response_type=token",
"redirect_uri=https://login.live.com/oauth20_desktop.srf"
);
my $URLFULL = $URL."?".join("&", @params);
my $res = $ua->get($URLFULL);
if ($res->is_success) {
print $res->request->uri->as_string."\n"; # it should be the url with a valid token
my $block = $res->as_string;
print $block; # this is the full response
} else {
die ($res->as_string."error in loading page");
}
anch'io mando un messaggio GET
all'URL e si deve reindirizzare all'URL ciò che contiene il token di accesso. Ma ho reindirizzato allo stesso URL quello che ho chiamato.
Come posso ottenere il token di accesso? O dov'è l'errore nel mio codice? O c'è qualche esempio di lavoro?
Se hai appena incollato, sembra che si dispone di un errore di battitura: ' "client_id =" $. clien_tid, ' – bolav
grazie, risolto – netdjw
Per la funzione, se si sta facendo qualsiasi richiesta penso che sia saggio testarlo con REST su mozila prima di inserirlo nel proprio codice. – robel