Ademar Izu

Members
  • Content Count

    6
  • Joined

  • Last visited

About Ademar Izu

  • Rank
    Newbie

Recent Profile Visitors

341 profile views
  1. Só para deixar um pouco mais claro. A integração que eu quero fazer não é com minha própria loja, mas com qualquer loja que me de acesso (via OAuth). A princípio, não peço muito, apenas saber para qual endpoint eu peço o access_token. Sei que para integrar com o mercadolivre, pode usar-se a dupla: https://auth.mercadolibre.com/authorization e https://api.mercadolivre.com.br/oauth/token Que dessa forma consigo o access_token e o refresh_token com dados do usuário (como o user_id). Até ai tudo bem. Mas como faço para pegar os dados da loja desse usuário? Imaginei que se acessasse https://api.mercadoshops.com/v1/users/<user_id>,conseguiria alguma coisa, mas infelizmente sou redirecionado para http://www.mercadoshops.com. HTTP/1.1 302 Moved Temporarily Server: nginx Date: Fri, 26 Feb 2016 18:11:26 GMT Content-Type: application/octet-stream Content-Length: 0 Connection: keep-alive Set-Cookie: _d2id=ac1de83c-85a5-4833-8045-7ec4f6b06283-n; Path=/; Domain=.mercadoshops.com; Expires=Sat, 25 Feb 2017 18:11:26 GMT Location: http://www.mercadoshops.com X-Libra-UpstreamHost: 10.34.34.166 X-API: mshops-front X-Libra-UpstreamHost: 10.32.149.176 X-Nginx-Host: e-0000e6fa X-Nginx-Pool: internal.mercadoshops.com X-Nginx-UpstreamHost: 172.16.20.203:80 X-Upstream-Server: nginx/1.4.1 X-Request-Id: ac1de83c-85a5-4833-8045-7ec4f6b06283 X-D2id: ac1de83c-85a5-4833-8045-7ec4f6b06283 Se tento acessar, https://api.mercadoshops.com/v1/shops: {"message":"Resource /shops not found.","error":"not_found","status":404,"cause":[]} Esse ao menos não me redireciona, mas bati numa parede. Se tento acessar, https://api.mercadoshops.com/v1/shops/<user_id>,usando aquele mesmo user_id (vai que o usuário no mercado livre é a loja do mercadoshops): {"message":"Shop <user_id> not found.","error":"not_found","status":404,"cause":[]}% Ou seja, aparentemente o user_id do mercadolivre não é o shop_id do mercadoshops. Imaginei que se eu pedisse o access_token para o mercadoshops, talvez eu recebesse o shop_id, mas infelizmente se tento pedir o access_token para https://api.mercadoshops.com/v1/oauth/tokenou https://api.mercadoshops.com/oauth/token: HTTP/1.1 302 Moved Temporarily Server: nginx Date: Fri, 26 Feb 2016 18:18:04 GMT Content-Type: application/octet-stream Content-Length: 0 Connection: keep-alive Set-Cookie: _d2id=9bc861a6-d342-4c4d-a248-6d1afd4173af-n; Path=/; Domain=.mercadoshops.com; Expires=Sat, 25 Feb 2017 18:18:04 GMT Location: http://www.mercadoshops.com X-Libra-UpstreamHost: 172.16.175.109 X-API: mshops-front X-Libra-UpstreamHost: 10.32.149.176 X-Nginx-Host: e-0000135a X-Nginx-Pool: internal.mercadoshops.com X-Nginx-UpstreamHost: 172.16.20.203:80 X-Upstream-Server: nginx/1.4.1 X-Request-Id: 9bc861a6-d342-4c4d-a248-6d1afd4173af X-D2id: 9bc861a6-d342-4c4d-a248-6d1afd4173af Novamente, sou redirecionado para www.mercadoshops.com. Alguém sabe como faço para requisitar o access token para o mercadoshops ou acessar a loja dado um usuário?
  2. Olá, estou tentando integrar com o MercadoShops mas quando minha aplicação recebe o token de acesso, é do usuário, não da loja. Existe alguma forma de integrar com as lojas do MercadoShop? Talvez um /users/{user_id}/shops?
  3. Refiz meu teste usando a biblioteca "requests" para tal, import requests url = "https://api.mercadolibre.com/oauth/token?grant_type=authorization_code&client_id=%s&client_secret=%s&code=%s&redirect_uri=%s" %(self.config.client_id, self.config.client_secret, self.extract_code(), "https://myserver.com/result") result = requests.post(url) Então com esse código (ou algo bem próximo disso), recebi esse resultado: DEBUG:myoauth.handler.authorization:RESULT {"message":"The redirect_uri does not match the original","error":"invalid_grant","status":400,"cause":[]} Finalmente uma mensagem de erro útil! Alterei o redirect_uri para o mesmo valor que estava configurado na minha aplicação e finalmente consegui o bendito token! DEBUG:myreksoauth.handler.authorization:RESULT {"access_token":"APP_USR-JAoijaoidfjaoidsjsaoijfaoj","token_type":"bearer","expires_in":21600,"scope":"offline_access read","user_id":XXXXXXXX,"refresh_token":"TG-asdjfoaisdjfoaisdjfaosijfaosi"} Espero que isso consiga ajudar mais alguém!
  4. Ok, criei uma outra aplicação e mesmo assim continuo recebendo o mesmo erro.
  5. Olá, estou tentando conseguir o oauth_token para minha aplicação (server side), consigo o code a partir do https://auth.mercadolibre.com/authorizationou usando o próprio SDK python fornecido (MELI-PYTHON-SDK-1.0.0), mas ao pedir o oauth_token, recebo o seguinte erro: ERROR:tornado.application:Uncaught exception GET /callback?code=TG-XXXXXXXXXXXXXXXX-11893996&state=xbQC3nPIqp3sB1zWiWAMDB1OGYa0HO (XXX.XXX.XXX.XXX) HTTPServerRequest(protocol='http', host='xxx.xxxx.com', method='GET', uri='/callback?code=TG-XXXXXXXXXXXXXXXX-11893996&state=xbQC3nPIqp3sB1zWiWAMDB1OGYa0HO', version='HTTP/1.1', remote_ip='XXX.XXX.XXX.XXX', headers={'Accept-Language': 'pt,en;q=0.8,en-US;q=0.6,es;q=0.4', 'Accept-Encoding': 'gzip, deflate, sdch', 'X-Forwarded-Host': 'xxx.xxxxx.com', 'X-Forwarded-For': 'XXX.XXX.XXX.XXX', 'Upgrade-Insecure-Requests': '1', 'Host': 'xxx.xxxxx.com', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36', 'Connection': 'Keep-Alive', 'Cookie': 'fbm_XXXXXXXXXX=base_domain=.xxxxxx.com; fbm_XXXXXXXX=base_domain=.xxxxxx.com; _ga=XXXXXXX; msid=XXXXXXXXXXXXX', 'X-Forwarded-Server': 'xxx.xxxxx.com'}) Traceback (most recent call last): File "/Users/ademarizu/Dev/virtualEnvs/google/lib/python2.7/site-packages/tornado/web.py", line 1443, in _execute result = method(*self.path_args, **self.path_kwargs) File "/Users/ademarizu/Dev/git/com.xxxxxx.oauth/src/main/py/myoauth/handler/authorization.py", line 51, in get oauth_token = ml.authorize(self.extract_code(), "https://xxx.xxxxx.com/ademar/oauth/result") File "/Users/ademarizu/Dev/git/com.xxxxxxx.oauth/src/main/py/myoauth/meli.py", line 50, in authorize response.raise_for_status() File "/Users/ademarizu/Dev/virtualEnvs/google/lib/python2.7/site-packages/requests/models.py", line 840, in raise_for_status raise HTTPError(http_error_msg, response=self) HTTPError: 400 Client Error: Bad Request for url: https://api.mercadolibre.com/oauth/token?code=TG-XXXXXXXXXXXXXXXX-11893996&client_secret=xxxxxxxxxxxxxxxxxxx&grant_type=authorization_code&client_id=XXXXXXXXXXXXXXX&redirect_uri=https%3A%2F%2Fxxxx.xxxxxxx.com%2Fademar%2Foauth%2Fresult Tentei tanto com o Meli Python SDK quanto usando uma solução própria (com a qual consigo autenticar normalmente no Facebook, LinkedIn e Github), mas com o MercadoLibre está impossível. Tentei até via cURL curl -X POST -H 'User-Agent: MELI-PYTHON-SDK-1.0.0' -H 'Content-Type: application/json' -H 'Accept: application/json' 'https://api.mercadolibre.com/oauth/token?grant_type=authorization_code&client_id=<my_client_id>&client_secret=<my_client_secret>&code=TG-<code_received>&redirect_uri=<my_callback>' Infelizmente informa que apenas que faltam parâmetros no request, será que alguém poderia me informar que parâmetros são esses? Ah, se eu especificar a API VERSION, 3.0, mas sem o redirect_uri, o mesmo lança uma mensagem a mais, dizendo que alguns parâmetros são obrigatórios: {"message":"The following parameters are required: client_id,client_secret,grant_type,code,redirect_uri,caller.admin. Missing parameter redirect_uri","error":"invalid_request","status":400,"cause":[]} A chamada via cURL: curl -X POST -H 'User-Agent: MELI-PYTHON-SDK-1.0.0' -H 'Content-Type: application/json' -H 'Accept: application/json' 'https://api.mercadolibre.com/oauth/token?grant_type=authorization_code&client_id=<my_client_id>&client_secret=<my_client_secret>&code=TG-<code_received>&version=3.0' Mesmo se eu adicionar esses parâmetros que dizem ser obrigatórios (o caller.admin eu coloco como null, pois não faço a menor idéia do que seja), continuo recebendo o mesmo erro de que falta parâmetros no request. {"message":"Wrong number of parameters","error":"invalid_request","status":400,"cause":[]} Alguém tem a solução para isso?!
  6. Estou tendo o mesmo problema, será que alguém conseguiu o oauth_token? Tentei tanto com o Meli Python SDK quanto usando uma solução própria (com a qual consigo autenticar normalmente no Facebook, LinkedIn e Github), mas com o MercadoLibre está impossível. Tentei até via cURL curl -X POST -H 'User-Agent: MELI-PYTHON-SDK-1.0.0' -H 'Content-Type: application/json' -H 'Accept: application/json' 'https://api.mercadolibre.com/oauth/token?grant_type=authorization_code&client_id=<my_client_id>&client_secret=<my_client_secret>&code=TG-<code_received>&redirect_uri=<my_callback>' Infelizmente informa que apenas que faltam parâmetros no request, será que alguém poderia me informar que parâmetros são esses? Ah, se eu especificar a API VERSION, 3.0, mas sem o redirect_uri, o mesmo lança uma mensagem a mais, dizendo que alguns parâmetros são obrigatórios: {"message":"The following parameters are required: client_id,client_secret,grant_type,code,redirect_uri,caller.admin. Missing parameter redirect_uri","error":"invalid_request","status":400,"cause":[]} A chamada via cURL: curl -X POST -H 'User-Agent: MELI-PYTHON-SDK-1.0.0' -H 'Content-Type: application/json' -H 'Accept: application/json' 'https://api.mercadolibre.com/oauth/token?grant_type=authorization_code&client_id=<my_client_id>&client_secret=<my_client_secret>&code=TG-<code_received>&version=3.0' Mesmo se eu adicionar esses parâmetros que dizem ser obrigatórios (o caller.admin eu coloco como null, pois não faço a menor idéia do que seja), continuo recebendo o mesmo erro de que falta parâmetros no request. {"message":"Wrong number of parameters","error":"invalid_request","status":400,"cause":[]} Alguém tem a solução para isso?!