В настоящее время я пытаюсь понять API Paypal, написав приложение для фляги, которое использует различные API.То, с чем я столкнулся с ошибкой, это взаимодействие с сервисами разрешений для классических API.У меня есть учетная запись в песочнице, которая предоставляет мне все необходимое для выполнения моих запросов.В одной из моих функций просмотра я успешно зашел на страницу разрешения запроса и получил перенаправление PayPal на URL обратного вызова, который я указал в своем запросе.Это мой код (обратите внимание, что я еще «молод» в Python, поэтому предложения по улучшению приветствуются)
@account.route('/grant_auth')
def get_request_token():
"""handle the proccess of getting the request token"""
if request.method == 'GET':
url = "https://svcs.sandbox.paypal.com/Permissions/RequestPermissions"
headers = {
'X-PAYPAL-SECURITY-USERID': '**********',
'X-PAYPAL-SECURITY-PASSWORD': '*********',
'X-PAYPAL-SECURITY-SIGNATURE': '************',
'X-PAYPAL-REQUEST-DATA-FORMAT': 'JSON',
'X-PAYPAL-RESPONSE-DATA-FORMAT': 'JSON',
'X-PAYPAL-APPLICATION-ID': 'APP-80W284485P519543T'
}
payload = {
'scope': 'ACCOUNT_BALANCE',
'callback': 'http://127.0.0.1:5000/access_token',
'request_Envelop': {
'errorLanguage': 'en_US'
}
}
res_details = requests.post(
url, data=json.dumps(payload), headers=headers)
res_json_format = res_details.json()
if str(res_json_format['responseEnvelope']['ack']) == 'Failure':
return render_template('account.html', response='something went wrong with the application')
if str(res_json_format['responseEnvelope']['ack']) == 'Success':
token = res_json_format['token']
pal_permission_url = 'https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_grant-permission&request_token={}'.format(token)
return redirect(pal_permission_url)
else:
return render_template('account.html', response='something went wrong with the application')
Вот что я сделал: Когда я запускаю этот код и япосетите /grant_auth
Я перенаправлен на страницу PayPal, где я могу предоставить разрешение, когда я даю, я перенаправлен на http://127.0.0.1:5000/access_token?request_token=somevalue&verification_code=somevalue
с дополнительными параметрами, добавленными к нему как таковые.
- Пожалуйста, помогите мне, какя могу получить validiaction_code и request_token из URL-адреса (или, что еще лучше, в каком направлении лучше идти отсюда), так как мне нужно два значения, чтобы сделать еще один запрос к API GetAccesToken, чтобы я мог делать запросы от имени пользователей, которые имеютпредоставил разрешение.
Получение параметров из URL , кажется, немного решает мою проблему, но не полностью, потому что анализируемый URL-адрес уже существует в отличие от моего случая, когда URL-адрес изменяется.Заранее спасибо