0

我正在制作一个 .NET 应用程序,该应用程序将允许潜在用户将他们在我的应用程序上制作的发票上传到他们设置并与 QBD 版本同步的 Quickbooks 帐户。

他们/我需要采取哪些步骤,以便在他们使用我的应用程序时,它将发票上传到他们的帐户?是吗:

a) 当他们使用 Intuit AppCenter 设置帐户时,他们将从应用中心服务中选择我的应用程序(这样做时,它将生成一组 oAuth 连接参数供我放入我的应用程序以将发票推送到他们的帐户,如果是这样,我将如何获得这些)?

b) 我是否会通过 Intuit 平台合作伙伴建立一个帐户,并要求用户使用我的帐户 ID 和密码,他们将通过这些帐户 ID 和密码在我的帐户下“创建新应用程序”,以生成我的应用程序使用的 oAuth 连接信息?

c) 与 a) 和 b) 不同的东西?

谢谢!

4

3 回答 3

0

OAuth 东西专门设计用于允许最终用户将一组 OAuth 令牌/凭据从 QuickBooks 推送到您的应用程序。然后,您存储 OAuth 令牌,并使用这些令牌与 QuickBooks 进行通信。

对所发生情况的准确描述,是的:

a) 当他们使用 Intuit AppCenter 设置帐户时,他们将从应用中心服务中选择我的应用程序(这样做时,它将生成一组 oAuth 连接参数供我放入我的应用程序以将发票推送到他们的帐户, ...

您可以在文档中阅读有关该过程的更多信息:

另一种情况是,如果您允许,用户可以选择从您的应用程序中连接到 QuickBooks。在这种情况下,他们将单击“连接到 QuickBooks”按钮(请参阅此处的文档:https ://developer.intuit.com/docs/0025_quickbooksapi/0010_getting_started/0020_connect/0010_from_within_your_app )将它们转发到 Intuit 的站点,生成OAuth 令牌,然后使用 OAuth 令牌将它们发送回您的站点。

在任何一种情况下,OAuth 令牌都将发送给您,以便您可以存储它们并使用它们与 QuickBooks API 进行通信。

这个:

...并要求用户使用我的帐户 ID 和密码,他们将通过它们在我的帐户下“创建新应用程序”以生成 oAuth 连接信息供我的应用程序使用?

绝对不是你想让他们做的。OAuth 的全部意义在于您无需在任何时候与任何人共享任何用户名/密码。

以下是对您其他评论的一些附加答案:

我想弄清楚的部分是我的客户需要做什么才能从我的应用程序及其 QuickBooks 集成功能中受益。

他们需要登录到他们的 Intuit.com 帐户,并按照提示将他们的 QuickBooks 公司连接到您的应用程序(即按照提示将 OAuth 凭据转发到您的应用程序)。

听起来他/她需要设置一些带有 ID 和密码的帐户。

如果他们还没有 Intuit.com 帐户,系统将提示他们在 OAuth 过程中创建一个。对于 QuickBooks Online,他们将始终拥有 Intuit.com 帐户(这与他们用于登录 QuickBooks Online 的帐户相同)。

现在在我看来,客户可以通过两种方式使用 Intuit 设置帐户。

他们可以通过 AppCenter 或直接在 QuickBooks 桌面中设置帐户(当您安装软件时,它会提示您),或者如果您已经在使用任何 Intuit 服务(例如 QuickBooks Online),那么您可以使用现有的 QuickBooks Online 帐户。

Developer.Intuit.com 帐户仅供开发人员使用(例如,您)。您的最终用户将没有 developer.intuit.com 帐户。他们也不需要一个。

a) 两者有什么区别?

Developer.Intuit.com 帐户仅供开发人员使用。您的最终用户将永远不会看到 developer.intuit.com 网站,也不会看到“创建应用程序”选项。

b) 如果客户想要设置同步他们的 QBD,应该使用哪个?c) 如果客户想使用我的 .net 应用程序,应该使用哪个。d) 如果客户同时需要 (b) 和 (c),应该使用哪个?e) 如果客户以第二种方式创建帐户,他们不会被所有“开发人员”的术语弄糊涂吗?

这些问题都不适用——最终用户永远不会看到或被提示任何开发人员的东西。您看到这一点的唯一原因是您已注册为开发人员。普通最终用户不会,因此不会有任何这些选项。

f) 如果客户已经将他们的 QBD 与 intuit 同步了怎么办?

然后他们可以登录到他们现有的帐户进行连接(即将 OAuth 凭据发送到您的应用程序)。

于 2013-07-31T00:48:33.943 回答
0

从 Consolibyte 分享的内容以及我所学到的内容中,我已经确定了这一点。整个情况(至少对我而言)是需要开发者帐户和应用中心帐户。开发人员帐户提供了消费者密钥、消费者秘密和应用程序令牌,.Net 应用程序将使用它们向 Intuit 进行身份验证。需要应用中心帐户以允许用户将其 QuickBooks 桌面数据同步到应用中心(和其他第 3 方应用程序)可以访问它的位置(当然在用户授权之后),并为其用户提供一个 ID和授权 .net 应用程序(或与此相关的任何应用程序)访问他/她的 Intuit 数据所需的密码。它是开发者账户的代币和应用中心账户的组合' s ID 和密码,允许生成身份验证/访问令牌,.Net 应用程序可以通过该令牌实例化 Dataservices 对象,以便它可以在 App Center 中读取/写入用户的 QB 数据实例。除了用户在 App Center 中创建一个帐户并将其 QB 桌面数据与之同步之外,除了提供 ID 和密码之外,应该没有什么可做的,只要 .Net 应用程序编码正确。在这种情况下,我不是在谈论 OpenID,但知道它使用相同的 ID 和密码。提供 .Net 应用程序编码正确。在这种情况下,我不是在谈论 OpenID,但知道它使用相同的 ID 和密码。提供 .Net 应用程序编码正确。在这种情况下,我不是在谈论 OpenID,但知道它使用相同的 ID 和密码。

……所以我很好。谢谢。

于 2013-08-01T00:08:47.593 回答
0

关于您的问题:开发人员可以根据 mkting 要求选择是否将他的应用程序列在 appcenter 上。要了解过程中的差异 - 您可以创建一个示例,然后在 developer.intuit.com 上,转到我的应用程序-> 管理我的应用程序-> 选择您的应用程序。然后测试连接。您可以使用上述任何方法来使用 QBD 数据。请参阅我提供的其他信息。

还要通过 conolibyte 提到的链接。如果您是从 appcenter 应用程序登录,那么由于您已经登录,则只需要 OAUTH。在您的应用程序内登录时,您无需提供您的用户 ID 和密码。用户第一次需要在 Intuit.com 注册,然后为他进行 OAUTH 流程。这些打开的 id/email 详细信息可以保存在您的数据库中,以便用户下次需要输入它们。

除了将访问其公司数据的应用程序之外,客户从不关心开发人员的详细信息。

QBD OAUTH 的同步管理器授权您的应用连接到他们的公司文件。

以上任何一项都可用于访问 QBD 数据。

同步管理器手动或自动运行。因此,客户可以选择同步/不同步他的数据。---------------附加信息----------

有两种方法可以与 QuickBooks 集成,第一种是使用 REST API,第二种是使用可下载的 QBXML SDK v12。REST API 和该集成模型适用于通过我们的 Appcenter 出售给客户的应用程序。它们通常是 Saas 应用程序。

第二个模型是任何人都可以使用的 QBXML sdk,尤其是对于自定义集成。

QBXML SDK 的参考在这里 http://member.developer.intuit.com/qbSDK-current/Common/newOSR/index.html

请通过: https ://developer.intuit.com/docs/0025_quickbooksapi/0055_devkits- >QBXML SDK

最后,通过 QBXML SDK,您可以将自定义字段添加到您想要的任何实体。请参阅上面的参考资料并查看 DataExt Add Request。并且一旦添加了查询请求。我相信这会给你你正在寻找的东西。

请记住,这适用于 Windows 版 QuickBooks,而不是 QuickBooks Online。

您也可以浏览常见问题解答页面 - https://developer.intuit.com/docs/0025_quickbooksapi/0058_faq

于 2013-07-31T14:00:25.110 回答