in fb_metadata/views.py [0:0]
def tokenSettings(request, storeId):
""" This view shows the page displaying token information and allows user to change token from System User token to User token """
store = Store.objects.get(id=storeId)
metadata = getFBEOnboardingDetails(store.id)
if request.method == "POST":
fb_meta = FacebookMetadata.objects.get(store=store)
url = settings.SYSTEM_USER_TOKEN_API_URL.format(fb_meta.fbe_business_manager_id)
_SCOPE = "business_management,manage_business_extension,catalog_management,commerce_manage_accounts"
data = {
"app_id": settings.APP_ID,
"access_token": fb_meta.token_info,
"scope": _SCOPE,
"fbe_external_business_id": fb_meta.fbe_external_business_id,
}
res = requests.post(url, data=data)
system_user_access_token = res.json()["access_token"]
# update access token
fb_meta.token_info = system_user_access_token
fb_meta.token_creation_date = datetime_utc_now_with_tz()
fb_meta.token_expiration_date = datetime_utc_now_with_tz() + relativedelta(
years=10
)
fb_meta.token_type = FacebookMetadata.GraphUserTokenType.SYSTEM_USER
fb_meta.save()
context = {"store": store, "fb_metadata": metadata}
return render(request, "fb_metadata/tokens.html", context)