【发布时间】:2021-10-15 18:56:35
【问题描述】:
我正在编写一个 python 脚本,它可以自动执行从项目中获取绘图文件的过程。目前我可以通过脚本访问集线器、项目列表和文件夹。但是,每当我尝试在文件夹中搜索所有绘图文件时,我都会收到 403 错误,提示无法对用户进行身份验证。
我正在使用 2 腿身份验证来获取访问令牌。我根据 api 的要求将 data:search 添加到范围,但仍然出现相同的错误。我在网上到处搜索,似乎没有任何效果。请问有没有人可以帮忙。
我附上了访问令牌功能、搜索功能和结果图片。
def getAccessToken():
url = "https://developer.api.autodesk.com/authentication/v1/authenticate"
payload = 'client_id={client_id}&client_secret={client_secret}&grant_type=client_credentials&scope=code%3Aall%20data%3Awrite%20data%3Aread%20data%3Asearch%20bucket%3Acreate%20bucket%3Adelete%20bucket%3Aread%20account%3Aread'
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
}
response = requests.request("POST", url, headers=headers, data=payload)
json_data = json.loads(response.text)
return json_data["access_token"]
token = getAccessToken()
def getDrawingFiles(folderId):
def getDrawingFiles(folderId):
url = f"https://developer.api.autodesk.com/data/v1/projects/{project_id}/folders/{folderId}/search"
payload = {}
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': f'Bearer {token}',
'x-user-id': userId,
'x-ads-region':'emea'
}
response = requests.request("GET", url, headers=headers, data=payload)
json_data = json.loads(response.text)
print(json_data)
getDrawingFiles('urn:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)
谁能给点建议?
【问题讨论】:
标签: autodesk-forge forge autodesk-bim360 autodesk-data-management