【问题标题】:Shopify .NET API - Invalid request: The Shopify API application does not support oauthShopify .NET API - 无效请求:Shopify API 应用程序不支持 oauth
【发布时间】:2013-06-29 12:12:08
【问题描述】:

我正在尝试建立一个网站,如果我可以使用那里的 API 从我的 Shopify 商店获取我的所有信息。

我已经从here 下载了 .NET 示例,并将我的 API 密钥和密钥添加到配置文件中,当我在输入我的站点名称后运行测试应用程序时,它会将我重定向到 shopify.com 的控制面板我的商店,但我在屏幕上写道“似乎发生了错误”,它说:

请求无效:Shopify API 应用程序不支持 oauth

如果有人可以请尝试帮助我并指导我找到问题,我会占用它。

谢谢

【问题讨论】:

    标签: asp.net .net api oauth shopify


    【解决方案1】:

    私有应用不需要 OAuth 访问令牌进行身份验证,您可以使用 api-key、密码组合。

    例如: https://API-KEY:PASSWORD@YOUR-TEST-SHOP.myshopify.com/admin/orders.xml

    【讨论】:

    • 感谢您的快速回复。我真的没有太多调用 API 的经验,你知道我可以找到一个用 .NET 编写的简单且基本的示例供我开始吗?我找到的所有示例都使用 OAuth。
    • 再次感谢。我知道我需要什么 URL 来获取信息,但我不确定如何在它周围编写代码以获取数据,我现在正在尝试使用 WebRequest 但我得到了错误返回 远程服务器返回错误:(401) Unauthorized,知道吗?就是这样,我很想找到一个可以开始工作的应用程序。
    【解决方案2】:

    正如 kobe 所说,私人应用程序要简单得多。这是example

    public string GetCustomers()
    {
        const string url = "https://your-store.myshopify.com/admin/customers.json";
    
        var req = (HttpWebRequest)WebRequest.Create(url);
        req.Method = "GET";
        req.ContentType = "application/json";
        req.Credentials = GetCredential(url);
        req.PreAuthenticate = true;
    
        using (var resp = (HttpWebResponse)req.GetResponse())
        {
            if (resp.StatusCode != HttpStatusCode.OK)
            {
                string message = String.Format("Call failed. Received HTTP {0}", resp.StatusCode);
                throw new ApplicationException(message);
            }
    
            var sr = new StreamReader(resp.GetResponseStream());
            return sr.ReadToEnd();
        }
    }
    
    private static CredentialCache GetCredential(string url)
    {
        ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
        var credentialCache = new CredentialCache();
        credentialCache.Add(new Uri(url), "Basic", new NetworkCredential("your-api-key", "your-password"));
        return credentialCache;
    }
    

    转到http://your-store.myshopify.com/admin/apps,然后单击底部的“创建私有 API 密钥”来获取凭据。

    【讨论】:

      猜你喜欢
      • 2015-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-13
      相关资源
      最近更新 更多