Как получить доступ к api Aliexpress

Я только начал искать документацию Aliexpress-API. Там: Developers.Aliexpress, я кодирую в python и необходимо импортировать AliexpressSolutionProductPostRequest из top.api, но это не удается.

Я установил верхнюю библиотеку в Windows следующим образом: python -m pip install top Дважды переустанавливал, но не получилось. Его официальный сайт так и не работает. Я не могу понять это.

AttributeError: module ‘top.api’ has no attribute ‘AliexpressSolutionProductPostRequest’

Эта библиотека имеет разные функции для Alibaba, не для aliexpres. Любое предложение по исправлению этого? На самом деле я тоже не могу найти официальную документацию верхней библиотеки. Спасибо.

320V 12 Фев 2021 в 19:35

2 ответа

Хорошо. Я нашел эту библиотеку для исправления этой ошибки. Нам нужно установить Aliexpress-sdk:

pip install Aliexpress-sdk

Или (для предварительной версии):

pip install git+https://github.com/bayborodin/Aliexpress-sdk

Теперь я могу импортировать модули Aliexpress, которые находятся в Документация API Aliexpress .

Практический PHP — работаем с API

Пример импорта модуля для Aliexpress:

from Aliexpress.api import AliexpressSolutionProductPostRequest
320V 13 Фев 2021 в 05:23

Я только что узнал официальный способ сделать это.

После создания приложения в консоли Aliexpress вы можете сгенерировать API SDK для Python. Там вы можете найти основные функции библиотеки, которые находятся в Документация API Aliexpress . Итак, нам нужно сначала создать приложение, как только оно будет принято, мы сможем делать все эти вещи.

Источник: question-it.com

Как обратиться к Aliexpress epn API?

Кто-нибудь пользовался пользовался API epn Aliexpress?
Как построить запрос?

Выдержка из документации:

Все запросы к API отправляются в виде POST-запроса по протоколу HTTP на URL-адрес api.epn.bz/json. Параметры запроса передаются в виде JSON-строки как данные RAW POST DATA. Ответ отдаётся так же в формате JSON.

Структура запроса имеет вид:

user_api_key = $your_api_key
user_hash = $your_deep_link_hash
api_version = $client_library_version
requests = $requests_to_process
>
Все параметры обязательны. Данные ‘user_api_key’ и ‘user_hash’ берутся в личном кабинете партнёрской программы (первый в профиле пользователя, а второй — в списке креативов), ‘api_version’ описывает версию клиентской библиотеки (текущее описание соответствует версии «2»).

Структура $requests_to_process содержит список запросов, которые надо обработать в пакетном режиме и имеет вид:

$req_name_1 = $req_data_1
$req_name_2 = $req_data_2
// . //
$req_name_n = $req_data_n
>
Таким образом, при отправке пакета для каждого запроса нужно указать уникальное имя блока, а в возвращаемом результате искать необходимые данные по этому имени. Каждое описание запроса имеет вид:

Обучение парсингу на Python, парсинг любых сайтов, в том числе SPA

action = $action
$param_1 = $value_1
$param_2 = $value_2
// . //
$param_n = $value_n
>
Список доступных параметров зависит от значения ‘action’. Параметры, которые не поддерживаются для данного действия ‘action’, будут просто проигнорированы.

Примеров запросов почему-то не дано..

Пробую такой подход, но не знаю как сформировать суть запроса, что я делаю не так?

import urllib import urllib2 headers = values = data = urllib.urlencode(values) req = urllib2.Request(url,data) response = urllib2.urlopen(req) print response.read()

UPD:
Вопрос скорее корректнее переформулировать — «Как отправить HTTP POST-запрос в формате JSON, используя Python 2.x».

Что нужно знать:
1. Перед отправкой данных их нужно сериализовать в json
2. Отправлять данные нужно указывая, что это json

Варианты решения:
1. С использованием библиотеки requests (она всё делает сама за исключением сериализации):

import json import requests ## URL, куда мы обращаемся url = ‘http://example.com’ ## Наши данные (словарь) values = ## Делаем запрос, данные сериализуем json.dumps(x) r = requests.post(url, data=json.dumps(values), headers=headers) ## Считываем в словарь dict = r.json()

Когда Андроид 12 на Oneplus 8 pro

2. С использованием только стандартной библиотеки:

import json import urllib2 ## URL, куда мы обращаемся url = ‘http://example.com’ ## Наши данные (словарь) values = ## Создаем запрос и добавляем к нему header с указанием на то, что это json r = urllib2.Request(api_url) r.add_header(‘Content-Type’, ‘application/json’) ## Делаем запрос, данные сериализуем json.dumps(x) response= urllib2.urlopen(r, json.dumps(values)) ## Данные будут получены в формате, с которым работает API. В нашем случае это опять JSON, мы считаем его в словарь dict = json.loads(response.read())

  • Вопрос задан более трёх лет назад
  • 4834 просмотра

1 комментарий

Оценить 1 комментарий

Источник: qna.habr.com

Как получить доступ к api Aliexpress

Автоматизация Aliexpress для продавцов на Python

Есть желание автоматизировать работу с Aliexpress для своего магазина.

Регистрируемся как разработчик на портале https://developers.Aliexpress.com/en/doc.htm?docId=108970″
try:
resp= req.getResponse(sessionkey)
print(resp)
except Exception,e:
print(e)

Приходится идти в исходники и искать ответы.
Ответы:
url — «gw.api.taobao.com»
port — 80. Если 443й, то https соединение. У меня не работает. Наверняка, потому что у меня Python3, а не 2.
param0 — параметры запроса. У каждого они могут быть разные. К примеру, у запроса заказов в данном параметре json с полями «дата начала», «дата конца», «статус» и др. Все аргументы описаны на странице запроса https://developers.Aliexpress.com/en/doc.htm?docId=42270браузер». Т.к. пока есть цель написать локальный Питон скрипт без сервера, выберем 2й вариант.

Соглашаемся с Соглашением и видим access_token. Его и пишем в sessionkey.

Далее, есть проблема с тем, что скрипт поддерживает только Python 2.. Пройдя по base.py и поменяв вызовы на Python 3, мы получим рабочий пример.

# -*- coding: utf-8 -*-
from datetime import datetime, timedelta
from top import api, appinfo
import pprint

url = ‘gw.api.taobao.com’
port = 80

appkey = ‘xxxxxxxx’
secret = ‘xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx’

req = api.AliexpressSolutionOrderGetRequest(url, port)
req.set_app_info(appinfo(appkey, secret))

req.param0 = ‘create_date_start’: (datetime.utcnow() — timedelta(days=5)).strftime(‘%Y-%m-%d %H:%M:%S’),
‘page_size’: 10,
‘current_page’: 1
>

Поздравляю, первый шаг в автоматизации сделан!

Напишите в комментариях, какие еще бывают примеры автоматизации маркетплейсов, платные/бесплатные.

Источник: vostnod.livejournal.com

Рейтинг
( Пока оценок нет )
Загрузка ...
Китай Покупай