Shopify .NET API — неверный запрос: приложение Shopify API не поддерживает oauth

Я пытаюсь создать веб-сайт, на котором я могу получить всю свою информацию из своего магазина Shopify, используя там API.

Я загрузил пример .NET из здесь и добавил в файл конфигурации свой ключ API и секрет ключ, когда я запускаю тестовое приложение после ввода имени моего сайта, оно перенаправляет меня на панель управления shopify.com моего магазина, но я пишу на экране «Похоже, что произошла ошибка», и он говорит, что:

Неверный запрос: приложение Shopify API не поддерживает oauth

Я присвою его, если кто-нибудь может попробовать помочь мне и направить меня, чтобы найти проблему.

Спасибо


person Ovi    schedule 02.07.2013    source источник


Ответы (2)


Частным приложениям не требуется токен доступа OAuth для аутентификации, вы можете использовать комбинацию API-ключ и пароль.

например: https://API-KEY:[email protected]/admin/orders.xml

person YaakovHatam    schedule 02.07.2013
comment
Спасибо за ваш быстрый ответ. У меня нет большого опыта вызова API, знаете ли вы, где я могу найти простой и простой пример, написанный на .NET, чтобы начать? все примеры, которые я нашел, все с OAuth. - person Ovi; 02.07.2013
comment
еще раз спасибо. Я знаю, какой URL-адрес мне нужен для получения информации, но я не уверен, как написать вокруг него код, чтобы получить данные, сейчас я пытаюсь использовать WebRequest, но получаю ошибку обратно удаленный сервер вернул ошибку: (401) Unauthorized, есть идеи? вот и я хотел бы найти работающее приложение, с которого я могу начать работать. - person Ovi; 02.07.2013

Как говорит Кобе, частные приложения намного проще. Вот пример:

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» внизу.

person Dunc    schedule 11.12.2013