Ich habe diesen einfachen Code in Perl
erstellt, um Microsoft OneDrive API
zu verbinden und Dateien und Ordner aufzulisten. Aber jetzt bin ich gestoppt, um Zugangstoken zu bekommen.Microsoft OneDrive API-Client in Perl kann kein Token erhalten
Ich lese die Microsoft's documentation um herauszufinden, aber ich habe nichts gefunden. Hier
ist der Code:
#!/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");
}
Also habe ich eine GET
Nachricht an die URL senden und es sollte an die URL umleiten, was die Zugriffstoken enthalten. Aber ich habe auf dieselbe URL umgeleitet, was ich angerufen habe.
Wie bekomme ich das Access Token? Oder wo ist der Fehler in meinem Code? Oder gibt es ein Arbeitsbeispiel?
Wenn Sie gerade eingefügt, es sieht aus wie Sie einen Tippfehler haben: '„client_id =“$. clien_tid, ' – bolav
danke, behoben – netdjw
Für die Funktion, wenn Sie irgendeine Anfrage tun, ich denke, es ist klug, es mit REST auf mozila zu testen, bevor Sie es in ur-Code. – robel