@RequestMapping(value = "/smartsheet.htm", method= RequestMethod.GET)
public void smartSheetAuth(HttpServletRequest req,HttpServletResponse resp,HttpSession session){
String userEmail = ************;
StringBuilder authUrl = new StringBuilder();
authUrl.append("https://app.smartsheet.com/b/orgsso/");
authUrl.append(gPlusUser.getDomain());
/*
authUrl.append("?loginEmail=");
authUrl.append(userEmail);*/
oauth = new OAuthFlowBuilder()
.setAuthorizationURL(authUrl.toString())
.setClientId(EnvironmentVariables.SMARTSHEET_CLIENT_ID)
.setClientSecret(EnvironmentVariables.SMARTSHEET_CLIENT_SECRET)
.setRedirectURL(APPLICATION_BASE_URL + RequestMapping value to be redirected to)
.build();
EnumSet<AccessScope> smartsheetAccessScopes = EnumSet.of(AccessScope.READ_SHEETS,AccessScope.SHARE_SHEETS);
String url = oauth.newAuthorizationURL(smartsheetAccessScopes, "MY_STATE");
System.out.println("url >>>"+url);
resp.sendRedirect(url);
}
我想要做的是组织登录。但是,经过身份验证,而不是转到OAuthFlowBuilder中指定的重定向url之后,它将我带到我的smartsheet主页。如果我不setAuthorizationURL(),我必须从选项中选择Oraganization Login。它有点不错,但我试图实现的是直接进入SSO登录页面,而不是单击组织登录选项,然后再继续。错误重定向到特定页面后Smartsheet Auth
我做了一个应用程序,使用smartsheet的开发人员工具选项,并提到了相同的重定向网址。似乎没有任何工作。
Now redirect url is optional,但是如果不指定IllegalStateException提示。
使用 smartsheet-SDK-Java的2.0.0.jar
它适用于[DEFAULT_AUTHORIZATION_URL](https://github.com/smartsheet-platform/smartsheet-java-sdk/blob/master/src/main/java/com/smartsheet/api/oauth/OAuthFlowBuilder.java )。但是OAuthFlowBuilder给了一个setter方法setAuthorizationURL()来将它设置为其他的url。所以默认情况下它可以工作,但用户必须点击组织登录选项才能进入SSO登录页面。我想要一个选项,您可以以某种方式直接将用户路由到SSO页面,因为该电子邮件是由应用程序提供的。 – akgaur
在阅读文档后,我找不到列出工作表协作者的方法。有没有一种方法,我错过了。 – akgaur
是的,我明白你想要达到什么成绩 - 但这是不可能的。目前,授权URL(https://app.smartsheet.com/b/authorize)只有一个有效值 - 即使用SDK,您必须使用DEFAULT_AUTHORIZATION_URL - 您无法将其设置为任何其他值。 (不知道为什么OAuthFlowBuilder提供setter方法“setAuthorizationURL()” - 这可能已被无意地包含在SDK中。) –