Ich versuche den OneDrive for Busines in eine Web Form App zu integrieren. Dafür benutze ich die Dokumentation zu dieser uRL angegeben https://dev.onedrive.com/auth/aad_oauth.htm In Web-Formular App ich zwei Seite Zuerst eine haben wird Login-Seite, die eine Schaltfläche für die Anmeldung In-Login-Button klickenOneDrive for Business: "invalid_request", "error_description": "AADSTS90014: Der Anfragetext muss den folgenden Parameter enthalten: 'grant_type
ich erstelle eine GET-Anfrage an Microsoft Onedrive für Business-API mit dem folgenden Code hatWenn ich auf den Login-Knopf klicke, bringt es mich zu micorosoft login servie und schickt mich zurück Seite mit Zugangscode callback.aspx (uri auf azur konfiguriert Redirect)
bekam ich den Zugangscode Auf den zweiten Seite i den Zugangscode am Einlösen und eine POST-Anfrage stellt das Authentifizierungstoken Hier bekommen Sie den Code für die zweite Seite.
private string BaseUri="https://login.windows.net/common/oauth2/token";
public string Redirecturi = "http://localhost:51642/CallBack.aspx";
public string ResourcesId = "https://api.office.com/discovery/";
private string ClienId = "180c6ac4-5829-468e-.....-822405804862"; ///truncated//azure
private string ClientSecert = "G4TAQzD8d7C4...OE6m366afv8XKbTCcyXr4=";//truncated
protected void Page_Load(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(Request.QueryString[OAuthConstants.AccessToken]))
{
// There is a token available already. It should be the token flow. Ignore it.
return;
}
if (!string.IsNullOrEmpty(Request.QueryString[OAuthConstants.Code]))
{
string _accessCode = Request.QueryString[OAuthConstants.Code];
HttpClient client = new HttpClient();
// BaseUri = Uri.EscapeDataString(BaseUri);
Redirecturi = Uri.EscapeDataString(Redirecturi);
ResourcesId = Uri.EscapeDataString(ResourcesId);
string url = string.Format("{0}?client_id={1}&redirect_uri={2}&grant_type=authorization_code&client_secret={3}&code={4}&grant_type=authorization_code&resource={5}", BaseUri, ClienId, Redirecturi, ClientSecert, _accessCode, ResourcesId);
var response = client.PostAsync(url, null);
var json = response.Result.Content.ReadAsStringAsync();
Response.Write(json);
}
}
Aber anstelle der Antwort bekomme ich folgenden Fehler. Welche sagen, beinhalten die Grant_type in URL. Ich habe bereits hinzugefügt (Sie können Code einchecken). Ohne dies zu berücksichtigen, bekomme ich denselben Fehler.
Hier ist Fehler
{"error":"invalid_request","error_description":"AADSTS90014: The request body must contain the following parameter: 'grant_type'.\r\nTrace ID: 2adb3a7f-ceb1-4978-97c4-3dc2d3cc3ad4\r\nCorrelation ID: 29fb11a0-c602-4891-9299-b0b538d75b5f\r\nTimestamp: 2015-07-15 09:58:42Z","error_codes":[90014],"timestamp":"2015-07-15 09:58:42Z","trace_id":"2adb3a7f-ceb1-4978-97c4-3dc2d3cc3ad4","correlation_id":"29fb11a0-c602-4891-9299-b0b538d75b5f","submit_url":null,"context":null}
bitte helfen zu wissen, wo, was falsch Geting. Jede Art von Hilfe wird spürbar Vielen Dank im Voraus
dies jemals herausgefunden? Weil ich das gleiche Problem habe, auf den Endpunkt mit Java –