首页 > 解决方案 > How to get access_token from fyers API?

问题描述

I'm looking to get access_token from fyers API I'm able to get authorization_code and build authorization_url to open it in browser to enter user credentials. access_token is displayed in browser's address when user enters credentials but my program is unable to retrieve the access_code. Your help is much appreciable.

My code is as follows:

from fyers_api import accessToken

from fyers_api import fyersModel
import requests

import webbrowser

import urllib.request as ur

app_id = "XXXXXXXXX"

app_secret = "XXXXXXXXX"

app_session = accessToken.SessionModel(app_id, app_secret)

response = app_session.auth()

if response['code'] != 200:
    print('CODE=' + str(response['code']))
    print('MESSAGE=' + str(response['message']))
    print('Exiting program...')
    exit(0)

authorization_code = response['data']['authorization_code']

app_session.set_token(authorization_code)

authorization_url=app_session.generate_token('XXXXXX')

token = webbrowser.open(authorization_url)
#Following authorization url is opened in browser:
#https://api.fyers.in/api/v1/genrateToken?authorization_code=xxxxxxxxxxxxx&appId=xxxxxxxxx&user_id=xxxxxx

#User is redirected to following url after successful log-in:
#https://trade.fyers.in/?access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=&user_id=xxxxxx

print(token)

#token=”your_access_token”

#is_async = False #(By default False, Change to True for asnyc API calls.)

#fyers = fyersModel.FyersModel(is_async)


#fyers. get_profile(token = token)

标签: python-3.x

解决方案


与其编写上述代码,不如直接调用 Fyers Api。

import requests
url = 'https://api.fyers.in/api/v1/token'
requestParams = {
"fyers_id":"Your Client ID",
"password":"Your Password",
"pan_dob":"Your PAN card or DOB(DD-MM-YYYY)",
"appId":"YOur APP ID",
"create_cookie":False}
response = requests.post(url, json = requestParams )
print (response.text)

推荐阅读