我最近有一个Django项目,要求我从Quickbooks Online提取数据,然后将其存储在MySQL数据库中以备后用。
根据我在https://github.com/sidecars/python-quickbooks中找到的教程,我能够使用获取访问权限和刷新令牌
quickbooks-cli -p 8000 <Client ID> <Client Secret> 2
我想问几个问题:
先谢谢了。
答案 0 :(得分:1)
在Intuit开发人员的“密钥”部分中,将http://localhost:8000设置为我的重定向URI之一有什么含义?
您将无法使用该套装(Intuit不会让您使用)。但是对于开发来说,这很好。
最终,您应该将其替换为生产URL。
我应该如何使用访问和刷新令牌?
这是您链接到他们的文档所说的:
此外,您还需要使用访问令牌才能通过API访问数据。从文档中:
session_manager = Oauth2SessionManager(
client_id=realm_id,
client_secret=CLIENT_SECRET,
access_token=AUTH2_ACCESS_TOKEN,
)
from quickbooks import QuickBooks
client = QuickBooks(
sandbox=True,
session_manager=session_manager,
company_id=realm_id
)
from quickbooks.objects.customer import Customer
customers = Customer.all(qb=client)
这在此处的文档中显示:https://github.com/sidecars/python-quickbooks#accessing-the-api
我注意到访问令牌和刷新令牌还有一段持续时间,这是否意味着我必须每隔一段时间更改一次?
您必须刷新它们,是的:
session_manager = Oauth2SessionManager(
client_id=QUICKBOOKS_CLIENT_ID,
client_secret=QUICKBOOKS_CLIENT_SECRET,
base_url=callback_url,
)
session_manager.refresh_access_token()
来自此处的文档:https://github.com/sidecars/python-quickbooks#refreshing-access-token