2016-08-04 4 views
0

http://smartsheet-platform.github.io/api-docs/?shell#oauth-flow의 지침에 따라 애플리케이션과 SmartSheet간에 OAuth2 플로우를 설정하려고합니다.OAuth 요청에서 "클라이언트 ID가 누락되었거나 유효하지 않습니다."

사용자가 Smartsheet의 인증 대화 상자를 제출할 때 client_id 매개 변수가 손실 된 것처럼 보입니다. 여기에 제가 보는 작업은 다음과 같습니다

내 웹 페이지가 여기에서 (https://app.smartsheet.com/b/authorize?response_type=code&client_id=[my_client_id]&scope=READ_SHEETS%20WRITE_SHEETS%20SHARE_SHEETS

에 대한 링크를 표시, 내가 스택 오버플로 충분히 작은 게시로 나는, URL의 프로토콜과 도메인을 생략 할 것이다 I)! 질문에 두 개 이상의 링크를 포함 할 수 없습니다입니다

그 링크를 클릭하고/B /인가?는 FormName = fn_authorize & formAction = fa_loadAuthorize & RESPONSE_TYPE = 코드 & CLIENT_ID = [my_client_id] & 범위에 바람 = READ_SHEETS + WRITE_SHEETS + SHARE_SHEETS. 대화 상자에는 내 웹 사이트의 로고와 이름이 표시되므로 client_id가 정확한지 확인합니다.

그럼 난 다음 "허용"하고 메시지? 허가는 FormName = fn_authorize & formAction = fa_loadAuthorize & redirect_uri로 = [내 리디렉션 URI]

내가 B를 '/ /에서 "클라이언트 ID가 없거나 잘못되었습니다"를 참조하십시오 내가 생성하는 URI가 유효한지 확인하기 위해 지시 사항을 두 번 살펴보고 redirect_uri 매개 변수를 사용하거나 사용하지 않고 시도했습니다.

내가 뭘 잘못하고 있니?

답변

0

게시물/질문에서 정확하게 복사 한 oAuth URL을 사용해도 설명 된 문제를 재현 할 수 없습니다.

  1. 만든 새로운 "앱"(개발자 도구 Smartsheet UI에서를 통해) 생성하는 클라이언트 ID 및 응용 프로그램 비밀 : 여기 내 테스트 시나리오의 정리 해보입니다. 클릭 허용 https://app.smartsheet.com/b/authorize?response_type=code&client_id=[my_client_id]&scope=READ_SHEETS%20WRITE_SHEETS%20SHARE_SHEETS

  2. 사용자 :에

  3. 리디렉션 된 사용자입니다.

  4. 사용자가 내 앱 구성 설정에 지정된 리디렉션 URL로 리디렉션되었습니다.

이렇게 Smartsheet oAuth가 성공적으로 작동하는 것으로 보입니다. 어느 것이 아마 당신의 문제를 일으키는 App config 설정에 특정한 것이 겠지요. 문제 해결을위한 몇 가지 제안 :

  • 에 응용 프로그램의 구성 설정을 편집하십시오 (일시적으로) 앱의 가치를 교체 같은 간단한 뭔가 URL 리디렉션 : http://www.google.com - 다음 테스트 OAuth를 다시 흐른다. 새 리디렉션 URL에서 작동하는 경우 Smartsheet에서 원래 리디렉션 URL로 리디렉션 할 수 없다는 문제가 제안됩니다 ('클라이언트 ID가 없거나 잘못되었습니다'라는 오류 메시지는 정확한 메시지가 아닙니다).

  • 하면 오류가 해결되지 않는 리디렉션 URL을 변경 - 아마도 (개발자 도구 Smartsheet UI에서를 통해) 완전히 새로운 앱을 만들어보십시오, 새로운 응용 프로그램의 클라이언트 ID 것을 사용하여 동일한 OAuth를 흐름을 시도합니다. 어떤 이유로 앱에 오류가 발생하여 현재 오류가 발생하는 경우 새로운 앱으로 다시 시작하면 문제가 해결 될 수 있습니다.

+0

고맙습니다! 이것은 정확하게 내 문제를 해결하지 못했지만, 그것은 바로 이웃으로 날 잡았어. 나는 당신이 제안한 것과 같은 행동을 모두 시도했다. 그런 다음 앱 구성 설정에서 다른 것들을 편집 해보기로했습니다. 내 앱 이름으로 "Amy 's Dev Site"를 입력했습니다. "아니, 그럴 수 없어!"라고 생각하면서 아포스트로피를 꺼내 이름을 "Amy Dev Site"로 변경했습니다. 그것은 그것을 고쳤다! 내 사이트의 oauth 페이지로 리다이렉트되었고 이제 나머지 프로세스를 디버깅해야합니다. 버그 리포트가있는 것 같습니다. –

+0

굉장하고, 당신이 알아 낸 것을 기쁘게 생각합니다. 그리고 다른 사람들이 장래에 도움이 될 수 있도록 여기서 결의안을 공유해 주셔서 감사합니다. 그렇게 생각하시는 분은 [email protected]에게이 StackOverflow 게시물에 대한 링크를 전자 메일로 보내서 Smartsheet에이 문제를보고 할 수 있습니다 (정확한 해결 방법은 답변의 주석 섹션을 참조하십시오). –

관련 문제