Box SDK Refresh Token方法(python)

时间:2017-12-12 08:58:53

标签: python sdk box

我正在尝试实现python-sdk将文件(存在于本地文件夹中)放入共享的Box文件夹中。

我尝试的方法是将Redirect URI放入我的Box开发人员配置页面,并使用Client ID / Secret获取authorization_URL,然后提取身份验证代码提取访问令牌和刷新令牌。

但是,我只能进入获取auth_url的部分,我只能在点击“授予”访问权限后从重定向到页面手动获取auth_code

使用auth_code我可以获得刷新令牌,但我不知道如何自动化该部分。

还有其他方法吗?

如果是的话,你能给我一个例子吗?

我确实阅读了与此相关的所有搜索,到目前为止,我还没有找到解决问题的方法。

Redirect_URi = 'https://api.box.com/oauth2/token'

def save_tokens(access_token,refresh_token):
    print("Refreshing tokens...")
    target = open("AdminToken.txt", 'w')
    target.truncate()
    tokens = access_token+'#'+refresh_token
    target.write(tokens)
    target.close()

oauth = OAuth2(
client_id=CLIENT_ID,
client_secret=CLIENT_SECRET,
store_tokens=save_tokens
)
oauth.access_token
auth_url, csrf_token = oauth.get_authorization_url(Redirect_URi)
# GET "auth_code" from auth_url #
getTokens = requests.get(auth_url)
# trouble starts here
auth_code = 'exctracted from linked webpages manually' # expires in 30 seconds after creation
access_token, refresh_token = oauth.authenticate(auth_code)

oauth2 = OAuth2(
client_id=CLIENT_ID,
client_secret=CLIENT_SECRET,
store_tokens=save_tokens,
access_token=access_token,
refresh_token=refresh_token
)

client = Client(oauth)
# Testing if it is authorized
me = client.user(user_id= user_id).get()
print ('user_login: ' + me['login'])`

我应该可以运行这个脚本,我从DB中提取的文件应该被选为xlsx(我已经做过)并放入Box文件夹。

我认为我被这个刷新令牌困在这里,每个人都指示我到Github官方Box sdk页面,而不提供任何更多信息,如上所示。

0 个答案:

没有答案