我正在尝试使用oauth2创建Data Studio插件-但是文档尚不清楚。
它说我们应该创建函数getOAuthService(),它没有说如何让用户获得他们自己在创建屏幕时输入的客户端ID和Secret,也不必说如果不需要使用所有功能就该怎么做。 Oauth2的建议字段。
例如,我可以使用邮递员以下列凭据获得令牌:
当我尝试使用客户端凭据时,我会收到一条错误消息,提示
脚本错误消息:授权基本URL是必需的。 脚本错误原因:USER 脚本错误stacktrace: :45 validate_:42 :312 get3PAuthorizationUrls:143
很显然,这将不可能提供基本的auth URL-client_credential
oauth2并不需要它。我该如何工作?
这是我正在使用的代码:
function getOAuthService() {
return OAuth2.createService('searchMetrics')
.setTokenUrl('http://api.searchmetrics.com/v3/token')
.setGrantType('client_credentials')
.setClientId('****removed****')
.setClientSecret('*****removed*****')
.setPropertyStore(PropertiesService.getUserProperties())
.setCallbackFunction('authCallback')
};
function get3PAuthorizationUrls() {
return getOAuthService().getAuthorizationUrl();
}
答案 0 :(得分:0)
遵循Data Studio开发人员网站上的Authentication and Authorization guide,以实现OAuth2。
一些重要说明:
OAuth2.createService
的详细信息。由于该文档可在图书馆的站点上找到,因此在Data Studio开发人员站点中也可以重复使用。OAuth2.createService
时,您可以(并且应该)传递授权库的URL。示例here以及here。.getAccessToken()
获取令牌。有关实现的详细信息,请参见上面的示例。编辑:供将来的查看者使用:如果您使用client_credentials
并假冒服务帐户,则可以使用authType: "NONE"
并使用OAuth2库来生成令牌。