我的.Net应用程序如何从订阅我的应用程序的用户那里获得必要的令牌?

时间:2013-07-30 23:25:51

标签: intuit-partner-platform

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

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

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

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

c)与a)和b)有什么不同?

谢谢!

3 个答案:

答案 0 :(得分: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凭据发送到您的应用)。

答案 1 :(得分:0)

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

还要通过consolibyte提到的链接。 如果您从appcenter应用程序登录,那么由于您已经登录,因此只需要OAUTH。 在您的应用内进行日志记录时,您无需提供用户ID和密码。用户需要首次使用Intuit.com进行注册,然后为他执行OAUTH流程。这些开放的ID /电子邮件详细信息可以保存在您的数据库中,以便用户下次需要输入它们。

除了将访问公司数据的应用程序之外,客户永远不会了解开发人员的详细信息。

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添加请求。并且一旦添加了查询请求。我相信这会给你你想要的东西。

请记住,这适用于Windows的QuickBooks而非QuickBooks Online。

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

答案 2 :(得分:0)

此时我从Consolibyte所分享的内容以及我所学到的内容中得到了解决。整个情况(至少对我而言)是需要开发者帐户和应用程序中心帐户。 Developer帐户提供.Net应用程序将用于通过Intuit进行身份验证的使用者密钥,使用者密钥和应用程序令牌。需要App Center帐户才能允许用户将其QuickBooks桌面数据同步到应用程序中心(和其他第三方应用程序)可以访问的位置(当然,在用户授权之后),并为其用户提供ID和密码需要授权.net应用程序(或任何应用程序)访问他/她的Intuit数据。它是开发者帐户的令牌和应用程序中心帐户的ID和密码的组合,允许生成身份验证/访问令牌,通过该令牌,.Net应用程序可以实例化Dataservices对象,以便它可以读取/写入用户的QB实例App Center中的数据。除了用户在App Center中创建帐户并将其QB桌面数据与其同步之外,除了提供ID和密码之外,应该很少或没有其他事可做,前提是.Net应用程序编码正确。在这种情况下,我不是在谈论OpenID,但确实知道它使用相同的ID和密码。

...所以我很好。 THX。