【发布时间】:2021-08-24 13:15:05
【问题描述】:
我正在尝试从 SQL 存储过程中连接到 Quickbooks Online 的 API,并且想知道是否可以执行 this right here 之类的操作,但也可以传递 OAuth2.0 凭据(例如,刷新令牌、访问令牌等) , 重定向 URI, 客户端密码)。
例如。使用 QBO 的 API。我知道网址链接是https://sandbox-quickbooks.api.intuit.com/v3/company//account/1?minorversion=14
但是这个请求总是会失败并返回错误 401 - 授权。我怎样才能传递 OAuth 凭据,以免发生这种情况?
谢谢,如果这更适合其他地方,请告诉我。
【问题讨论】:
-
构建您自己的 CLR 函数/过程。不要使用那些陈旧的程序;它们更多是为了与真正的旧数据库(例如 SQL Server 2000 中的数据库)兼容。
-
避免使用 sp_OA* procs:它们不是线程安全的,如果处理不当,它们会像筛子一样泄漏资源,而且它们是特定于 Windows 的。 CLR 函数/过程是一种改进,但与 Web API 的交互实际上不属于数据库内部,应该由外部进程处理。 refresh_tokens 也不能用于 API 访问,它们仅用于更新过期的 access_tokens。尝试阅读 JWT 和 IdentityServer4 以更好地了解 OpenID Connect 和 OAuth2 机制的工作原理。
标签: sql sql-server api oauth-2.0 quickbooks-online