5

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

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

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

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

谢谢

4

2 回答 2

6

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

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

于 2013-07-02T08:19:28.583 回答
4

正如神户所说,私人应用程序要简单得多。这是一个例子

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 密钥”。

于 2013-12-11T17:49:11.100 回答