SharePoint API Error,ID3035: The request was not valid or is malformed

Skywares Test 1 Reputation point
2022-11-24T09:42:41.34+00:00

Hello,

I am trying to request Sharepoint API.
I get the Access Token then I use the following API to read data, but I always have the following error:
{"error_description":"ID3035: The request was not valid or is malformed."}

GET https://site_url/_api/web/lists
Bearer token

Access token:
url: https://login.microsoftonline.com/tenantID/oauth2/v2.0/token
grant_type: client_credentials
client_id: xxx
client_secret: xxxxxxx
scope: https://xxx.sharepoint.com/.default

Thanks,
lewis.xu

Microsoft 365 and Office | SharePoint | Development
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. RaytheonXie_MSFT 40,471 Reputation points Microsoft External Staff
    2022-11-25T02:23:08.277+00:00

    Hi @Skywares Test
    You can follow the steps to get Access Token

    1. Get a delegated auth token from graph as you normally would (https://learn.microsoft.com/en-us/graph/auth-v2-user)

    2 . Use the refresh_token you got and exchange it for an SPO access token by calling the auth endpoint again:

    POST https://login.microsoftonline.com/{<!-- -->{tenantName}}/oauth2/v2.0/token  
    client_id=<APP ID>  
    client_secret=<APP SECRET>  
    refresh_token=<REFRESH TOKEN FROM ABOVE>  
    grant_type=refresh_token  
    scope=https://<YOUR TENANT NAME>.sharepoint.com/Sites.Read.All  
    

    Finally take the access token and call the SPO API

     /_api/web/lists  
    

    You must ensure your app is registered with the correct permissions. In the case above the app must have Sites.Read.All.


    If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.



Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.