Community
BIM 360 Team Forum
Welcome to Autodesk’s BIM 360 Team Forums. Share your knowledge, ask questions, and explore popular BIM 360 Team topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Data management API 403 Error: This user could not be authenticated

0 REPLIES 0
Reply
Message 1 of 1
Anonymous
338 Views, 0 Replies

Data management API 403 Error: This user could not be authenticated

Hi All,

 

I am writing a python script that automates the process of getting drawing files from a project. Currently I am able to access but hub, list of projects and folders through the script. However, whenever I try to search the folder for all drawing files I get a 403 Error saying the users could not be authenticated. 

I am using 2 legged authentication to get the access token. I added data:search to the scope as required by the api but still get the same error. I have search everywhere online and nothing seems to work. Please is there anyone that can help. 

I have attached the access token  function, the search function and an image of the result.

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):
    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)

Capture.PNG

 Please can anyone offer some advice?

0 REPLIES 0

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report