Django: извлечение данных из Quickbooks Online и сохранение их в базе данных MySQL - PullRequest
0 голосов
/ 04 декабря 2018

У меня недавно был проект Django, который требует от меня извлечения данных из Quickbooks Online и последующего сохранения их в базе данных MySQL для последующего использования.

Следуя инструкциям, которые я нашел в https://github.com/sidecars/python-quickbooks,, я былвозможность получить мой доступ и обновить токен, используя

quickbooks-cli -p 8000 <Client ID> <Client Secret> 2

Вот несколько вопросов, которые я хотел бы задать:

  1. Есть ли какие-либо последствия, устанавливающие http://localhost:8000 как единое целоемоих URI перенаправления в разделе «Ключ разработчика Intuit»?
  2. Что мне делать с токеном доступа и обновления?Я думаю, что мне нужно продолжить с раздела «Доступ к API» в https://github.com/sidecars/python-quickbooks, но я понятия не имею, какие файлы для размещения кода, упомянутого в документации (я не касался API в прошлом, поэтому некоторые рекомендации приветствуются)
  3. Я заметил, что до истечения срока действия маркера доступа и обновления есть время, так значит ли это, что я должен менять их время от времени?

Заранее спасибо.

1 Ответ

0 голосов
/ 04 декабря 2018

Есть ли какие-либо значения, устанавливающие http://localhost:8000 в качестве одного из моих URI перенаправления в разделе «Ключ разработчика Intuit»?

Вы не сможете с этим житьустановить (Intuit не позволит вам).Но для развития это нормально.

В конце концов вы должны поменять это на свой рабочий URL

Что мне делать с токеном доступа и обновления?

Вот что говорят документы, на которые вы ссылаетесь:

  • «Храните access_token и refresh_token для дальнейшего использования.»

Кроме того, выВам нужно будет использовать токен доступа для доступа к данным через 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

...