Понимание oauth2 в Python - PullRequest
0 голосов
/ 09 мая 2018

Мне нужно получить доступ к API с помощью Python, чтобы получить некоторые данные с веб-сайта (API), я никогда не делаю этого раньше и узнаю, как это сделать, но у меня есть документация http://developers.tray.com.br/

Iне понимаю точно, что такое URL обратного вызова

Я пытаюсь сгенерировать ключ для доступа в приложении

в PHP, например:

?php
$params["consumer_key"] = "### Chave da Aplicação ###";
$params["consumer_secret"] = "### Chave Secreta da Aplicação ###";
$params["code"] = "### Código de Autorização ###";

$url = "https://{api_address}/auth/?".http_build_query($params);

ob_start();

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_exec($ch);

// JSON de retorno  
$resposta = json_decode(ob_get_contents());
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

ob_end_clean();
curl_close($ch);

if($code == "201"){
    //Tratamento dos dados de resposta da consulta.
}else{
    //Tratamento das mensagens de erro
}

?>

Я пытаюсь в Python

import requests
from requests_oauthlib import OAuth1

link = 'https://www.URL/web_api/auth'


  consumer_key = 'MyConsumerKey'
  consumer_secret= 'MY Secret'

  app_code = 'APP Code'


  auth = OAuth1(consumer_key, consumer_secret)

  r = requests.get(link, auth=auth)

  print(r.status_code)

Мой код ошибки возврата 400

Как я могу Ganarate это в Python?

1 Ответ

0 голосов
/ 09 мая 2018

Решено без использования ouath lib

import requests
import os
from requests_oauthlib import OAuth1

link = 'https://mylinkweb/web_api/auth'


consumer_key = 'key'         
consumer_secret= 'secret'

code = 'code'

payload = {'consumer_key' : consumer_key, 'consumer_secret' :  consumemer_secret, 'code' : code}
headers = {'Accept' : 'application/json'}


r = requests.post(link, json=payload, headers=headers)

r.status_code == 200
r_json = r.json()

print(r_json['acces_token')

Так печатается acces_token: D `

...