登录shopify后,OAuth请求将重定向到管理控制台

时间:2018-07-05 08:57:34

标签: oauth shopify shopify-app

我已经创建了一个shopify应用程序来读取商店数据,例如类别名称,产品名称等。遵循此准则https://help.shopify.com/api/getting-started/authentication/oauth

我已经用python编写了脚本,以发出OAUTH请求将我的应用程序安装在shopify商店中。我在OAuth请求期间使用了api密钥,秘密密钥,并且还在合作伙伴信息中心的我的应用程序中设置了应用网址,列入白名单的重定向网址。 这里发生两种情况:

  1. 第一种情况是商店所有者登录到商店时,OAuth请求被授予并重定向到应用程序安装页面,安装后重定向到随OAuth请求URL传递的redirect_url。

  2. 第二种情况是商店所有者未登录到商店时,OAuth请求重定向到商店登录页面,并且在登录页面重定向到商店的管理仪表板之后。不会重定向到应用程序安装页面。

第一种情况没有问题。我一直在尝试解决第二种情况。登录到商店后,我想重定向到应用程序安装页面。

除了我之外,其他shopify开发人员都面临着这个问题。这是shopify论坛中其他2条未回答的相同问题的链接。

https://ecommerce.shopify.com/c/shopify-apis-and-technology/t/oauth-flow-for-non-logged-in-users-526732

https://ecommerce.shopify.com/c/shopify-apps/t/oauth-error-whitelisted-url-if-user-is-not-logged-in-516603

我尝试过的事情:

我正在尝试用Django实现。这是我尝试将用户重定向到shopify商店以进行授权的代码。

def redirect_to_shopify_store(request):
    redirect_url = "https://" + store_name + ".myshopify.com/admin/oauth/authorize?client_id=" + api_key

    redirect_url += "&scope=read_orders, write_checkouts, read_themes, write_themes, read_products, write_products, unauthenticated_read_product_listings, read_product_listings, read_collection_listings"

    redirect_url += "&redirect_uri=" + python_app_base_url + "/get_shopify_access_token/"

    redirect(redirect_url)

这是我试图接收shopify访问令牌的代码:

def get_shopify_access_token(request):
    code = request.GET.get('code')
    client_id = shopify_config['client_id']

    request_url = "https://{store_name}.myshopify.com/admin/oauth/access_token?client_id={client_id}".format(
    store_name=store_name, client_id=client_id
    )

    request_url += "&client_secret=" + shopify_config['client_secret']
    request_url += "&code=" + code

    response = requests.post(request_url)

    shopify_access_token = response.json()['access_token']

    print("shopify_access_token")
    print(shopify_access_token)

    redirect('success_page_url')

如果我按照以下网址进行重定向

https://{store_name}.myshopify.com/admin/auth/login?redirect=oauth/authorize?client_id, access_scope

我收到access_scope缺少的错误,并重定向到以下URL:

https://{store_name}.myshopify.com/admin/oauth/authorize?client_id

无法确定缺少accsess_scope参数的原因。

感谢Shopify专家的任何帮助。

0 个答案:

没有答案