2016-08-04 6 views
0

Ich versuche, den OAuth2-Fluss zwischen meiner Anwendung und Smartsheet einzurichten, indem ich die Anweisungen unter http://smartsheet-platform.github.io/api-docs/?shell#oauth-flow verwende."Die Client-ID fehlt oder ist ungültig" in der OAuth-Anfrage

Es scheint, als ob der client_id-Parameter verloren geht, wenn der Benutzer Smartsheets Autorisierungsdialogfeld sendet. Hier ist, was ich sehe:

Meine Web-Seite zeigt einen Link zu https://app.smartsheet.com/b/authorize?response_type=code&client_id=[my_client_id]&scope=READ_SHEETS%20WRITE_SHEETS%20SHARE_SHEETS

(Von hier an werde ich das Protokoll und die Domäne von URLs werden weggelassen, da ich wenig gebucht haben genug Überlauf Stack, dass ich ist nicht in der Lage mehr als zwei Links in einer Frage enthalten!)

ich auf diesen Link klicken, und aufzuwickeln auf/b/autorisiert? formname = fn_authorize & Formaction = fa_loadAuthorize & response_type = Code & client_id = [my_client_id] & Anwendungsbereich = READ_SHEETS + WRITE_SHEETS + SHARE_SHEETS. Der Dialog zeigt das Logo und den Namen meiner Website, daher weiß ich, dass die client_id korrekt ist.

Dann klicke ich auf "Zulassen" und die Meldung "Die Client-ID fehlt oder ist ungültig" auf/b/autorisieren? Formname = fn_authorize & Formaction = fa_loadAuthorize & redirect_uri = [meine Umleitung uri]

I‘ Ich habe einige Male die Anweisungen übersprungen, um sicherzustellen, dass der von mir erzeugte URI gültig ist, und habe ihn mit und ohne den Parameter redirect_uri versucht.

Was könnte ich falsch machen?

Antwort

0

Ich kann das beschriebene Problem nicht reproduzieren, selbst wenn Sie die oAuth-URL verwenden, die genau aus Ihrem Post/Ihrer Frage kopiert wurde. Hier ist eine kurze Zusammenfassung meines Testszenarios:

  1. Erstellt neues "App" (über Developer Tools in der Smartsheet UI) ein Client-ID und App-Geheimnis zu erzeugen.

  2. umgeleiteten Benutzer: https://app.smartsheet.com/b/authorize?response_type=code&client_id=[my_client_id]&scope=READ_SHEETS%20WRITE_SHEETS%20SHARE_SHEETS

  3. Benutzer Klicks zulassen.

  4. Der Benutzer wurde erfolgreich an die Weiterleitungs-URL umgeleitet, die in den Einstellungen für die App-Konfiguration angegeben ist.

So scheint Smartsheet oAuth erfolgreich zu funktionieren. Was vermuten lässt, dass es vielleicht etwas ist, das für Ihre App-Konfigurationseinstellungen spezifisch ist und das Problem verursacht. Ein paar Vorschläge für die Fehlerbehebung:

  • Versuchen Sie, Ihre App-Konfigurationseinstellungen Bearbeitung (vorübergehend) zu leiten Sie den Wert von App ersetzen URL mit etwas Einfaches wie: http://www.google.com - dann Test oAuth wieder fließen. Wenn es mit der neuen Weiterleitungs-URL funktioniert, würde dies ein Problem vorschlagen, dass Smartsheet nicht auf Ihre ursprüngliche Weiterleitungs-URL umleiten kann (und die Fehlermeldung "Die Client-ID fehlt oder ist ungültig" ist keine wirklich korrekte Nachricht).

  • Wenn die Umleitungs-URL ändert nicht den Fehler beheben - vielleicht versuchen, zusammen eine neue App zu schaffen (über Developer Tools in der Smartsheet UI), und versuchen, den gleichen Fluss oAuth, dass neue App des Client-ID verwenden. Wenn aus irgendeinem Grund etwas an der App beschädigt ist, das Ihnen jetzt den Fehler anzeigt, dann ist es möglich, dass das Problem von vornherein mit einer neuen App gelöst wird.

+0

Vielen Dank! Dies löste mein Problem nicht genau, aber es brachte mich in die richtige Nachbarschaft. Ich habe beide Dinge ausprobiert und das gleiche Verhalten gezeigt. Dann habe ich beschlossen, andere Dinge in meinen App-Konfigurationseinstellungen zu bearbeiten. Ich hatte "Amy's Dev Site" als meinen App-Namen eingegeben. "Nein, das kann nicht sein!", Nahm ich den Apostroph heraus und änderte den Namen in "Amy Dev Site". Das hat es behoben! Ich wurde zurück auf die oauth-Seite meiner Website weitergeleitet, und jetzt muss ich nur den Rest des Prozesses debuggen. Ich denke, es gibt einen Fehlerbericht für jemanden in diesem. –

+0

Awesome, glücklich zu hören, dass Sie es herausgefunden haben. Und, danke, dass Sie die Entschließung hier teilen, damit andere in Zukunft davon profitieren können. Wenn Sie so interessiert sind, können Sie dieses Problem an Smartsheet melden, indem Sie [email protected] den Link zu diesem StackOverflow-Post senden (mit einem Hinweis, um den Kommentarbereich der Antwort zur genauen Auflösung zu sehen). –