首页 > 解决方案 > microsoft graph 无法使用刷新令牌获取刷新令牌

问题描述

我第一次能够同时获得访问令牌和刷新令牌,然后当我使用刷新令牌刷新它时,它只给了我访问令牌并且没有给我刷新令牌,我想同时获得刷新令牌和访问令牌,

request_url = "https://login.microsoftonline.com/common/oauth2/v2.0/token"

headers = {"Content-Type": "application/x-www-form-urlencoded"}

scope_list = ["https://graph.microsoft.com/Calendars.ReadWrite"]
scope = "%20".join(scope_list)

# redirect_uri = f"{settings.FRONTEND_BASE_URL}/microsoft/login"
redirect_uri = (
    f"https://someuri.com/login"
)

refresh_token = user.profile.calendar_settings.outlook_refresh_token

payload = {
    "client_id": "",
    "scope": scope,
    "redirect_uri": redirect_uri,
    "client_secret": "",
    "grant_type": "refresh_token",
    "refresh_token": refresh_token,
}

response = requests.post(url=request_url, headers=headers, data=payload)

标签: pythondjango-rest-frameworkmicrosoft-graph-api

解决方案


我通过将范围更改为此来使其工作

scope = "https://graph.microsoft.com/Calendars.ReadWrite offline_access"

推荐阅读