使用QuickBooks Online,管理员可以通过用户界面为非管理员创建帐户(例如,他们可以创建“仅限时间跟踪”的用户,这些用户可以访问时间跟踪工具,但没有其他内容)。
这些用户是否可以使用管理员拥有的应用进行身份验证以进行API调用?
在我们的测试中,当非管理员尝试通过OAuth进行连接时,会出现以下错误:
Only administrators can buy apps in the company...
是否无法代表非管理员进行API调用?
答案 0 :(得分:2)
你在混淆两个主题/谈论两个不同的事情:
第1项 - 连接第三方应用程序
第2项 - 从第三方应用程序调用API调用
只有管理员才能连接到第三方应用。
通过连接后,根本不涉及任何用户帐户。您的应用程序进行API调用以执行任何操作,并且它不涉及任何方式,形状或形式的实际用户帐户。无论您拥有什么用户,登录的用户还是其他任何用户,您的第三方应用都可以随心所欲。
请记住 - OAuth的工作方式(或者如果您已正确实施,则应该正常工作)是您只能连接应用程序,并存储OAuth凭据。然后,您的应用可以随时进行任何所需的呼叫,无需使用这些令牌进行任何用户交互。
所以,回答你的问题:
这些用户是否可以使用管理员拥有的应用进行身份验证以进行API调用?
如果应用程序归管理员所有(例如管理员已经连接/注册了应用程序),那么您已经过身份验证,并且通过身份验证与任何单个用户都没有任何关系。
在我们的测试中,当非管理员尝试通过OAuth进行连接时,会出现以下错误:
这是连接进程 - 它是一个一次性进程来获取OAuth凭据,之后您可以使用API执行任何操作,无论如何用户存在的内容,甚至是否有人登录或其他任何内容。
是否无法代表非管理员进行API调用?
同样,API调用与用户帐户无关。管理员进行初始连接以获取OAuth令牌,然后API可以执行任何,而无需与任何用户进行任何交互或关系。
一旦你拥有了这些令牌(再次,一次性过程),那么你可以用API做任何你想做的事。