How can i use Microsoft Graph API to access .json files on onedrive with character '#' in the path?

%3CLINGO-SUB%20id%3D%22%5C%26quot%3Blingo-sub-3159622%5C%26quot%3B%22%20slang%3D%22%5C%26quot%3Bzh-CN%5C%26quot%3B%22%3EHow%20can%20i%20use%20Microsoft%20Graph%20API%20to%20access%20.json%20files%20on%20onedrive%20with%20character%20'%23'%20in%20the%20path%3F%26lt%3B%5C%2Flingo-sub%26gt%3B%3CLINGO-BODY%20id%3D%22%5C%26quot%3Blingo-body-3159622%5C%26quot%3B%22%20slang%3D%22%5C%26quot%3Bzh-CN%5C%26quot%3B%22%3E%3CP%3EI%20try%20to%20use%20the%20following%20code%20to%20access%20the%20file%20on%20OneDrive%2C%20but%20it%20doesn%E2%80%99t%20work.%26lt%3B%5C%2FP%26gt%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%3CPRE%20class%3D%22%5C%26quot%3Blia-code-sample%22%20language-bash%3D%22%22%3E%3CCODE%3E%24%20curl%20%5C'https%3A%2F%2Fgraph.microsoft.com%2Fv1.0%2Fme%2Fdrive%2Froot%3A%2Fshare%2Ftest%2F%2523.json%5C'%20-H%20%5C'Authorization%3A%20************%5C'%20%7C%20python3%20-m%20json.tool%5Cn%20%20%25%20Total%20%20%20%20%25%20Received%20%25%20Xferd%20%20Average%20Speed%20%20%20Time%20%20%20%20Time%20%20%20%20%20Time%20%20Current%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Dload%20%20Upload%20%20%20Total%20%20%20Spent%20%20%20%20Left%20%20Speed%5Cn100%20%20%20295%20%20%20%200%20%20%20295%20%20%20%200%20%20%20%20%200%20%20%20%20458%20%20%20%20%20%200%20--%3A--%3A--%20--%3A--%3A--%20--%3A--%3A--%20%20%20458%5Cn%7B%5Cn%20%20%20%20%5C%22error%5C%22%3A%20%7B%5Cn%20%20%20%20%20%20%20%20%5C%22code%5C%22%3A%20%5C%22activityLimitReached%5C%22%2C%5Cn%20%20%20%20%20%20%20%20%5C%22message%5C%22%3A%20%5C%22The%20request%20has%20been%20throttled%5C%22%2C%5Cn%20%20%20%20%20%20%20%20%5C%22innerError%5C%22%3A%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22code%5C%22%3A%20%5C%22throttledRequest%5C%22%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22innerError%5C%22%3A%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5C%22code%5C%22%3A%20%5C%22quota%5C%22%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22date%5C%22%3A%20%5C%222022-02-11T13%3A02%3A47%5C%22%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22request-id%5C%22%3A%20%5C%22b4767316-6713-4cee-9b67-23a781a6c6fc%5C%22%2C%5Cn%20%20%20%20%20%20%20%20%20%20%20%20%5C%22client-request-id%5C%22%3A%20%5C%22b4767316-6713-4cee-9b67-23a781a6c6fc%5C%22%5Cn%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%7D%26lt%3B%5C%2Fcode%26gt%3B%26lt%3B%5C%2Fpre%26gt%3B%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FP%3E%3CP%3EPs%3A%20Well%2C%20I%20ran%20this%20code%202%20days%20ago%2C%20but%20the%20problem%20still%20occurs.%26lt%3B%5C%2FP%26gt%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26lt%3B%5C%2FP%26gt%3B%3C%2FP%3E%3CP%3EThe%20things%20I%20know%3A%26lt%3B%5C%2FP%26gt%3B%3COL%3E%3CLI%3EI%20found%20that%20it%20only%20seems%20to%20happen%20on%20.json%20files%20with%20%E2%80%98%23%E2%80%99%20in%20the%20path%20(so%20I%20think%20it%E2%80%99s%20not%20because%20of%20escaping%20of%20character%20%E2%80%99%23%E2%80%99).%26lt%3B%5C%2FLI%26gt%3B%3C%2FLI%3E%3CLI%3EI%E2%80%99m%20sure%20the%20file%20syncs%20correctly%20on%20OneDrive%20and%20I%20can%20access%20the%20file%20with%20OneDrive%20client.%26lt%3B%5C%2FLI%26gt%3B%26lt%3B%5C%2FOL%26gt%3B%3CP%3EPs%3A%20English%20is%20not%20my%20mother%20language%2C%20so%20l%E2%80%99m%20sorry%20if%20there%E2%80%99re%20some%20grammar%20mistakes%20make%20you%20confused.%26lt%3B%5C%2FP%26gt%3B%26lt%3B%5C%2Flingo-body%26gt%3B%3C%2FP%3E%3C%2FLI%3E%3C%2FOL%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3C%2FLINGO-SUB%3E
New Contributor

I try to use the following code to access the file on OneDrive, but it doesn’t work.

 

$ curl 'https://graph.microsoft.com/v1.0/me/drive/root:/share/test/%23.json' -H 'Authorization: ************' | python3 -m json.tool
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   295    0   295    0     0    458      0 --:--:-- --:--:-- --:--:--   458
{
    "error": {
        "code": "activityLimitReached",
        "message": "The request has been throttled",
        "innerError": {
            "code": "throttledRequest",
            "innerError": {
                "code": "quota"
            },
            "date": "2022-02-11T13:02:47",
            "request-id": "b4767316-6713-4cee-9b67-23a781a6c6fc",
            "client-request-id": "b4767316-6713-4cee-9b67-23a781a6c6fc"
        }
    }
}

Ps: Well, I ran this code 2 days ago, but the problem still occurs. 

 

The things I know:

  1. I found that it only seems to happen on .json files with ‘#’ in the path (so I think it’s not because of escaping of character ’#’).
  2. I’m sure the file syncs correctly on OneDrive and I can access the file with OneDrive client.

Ps: English is not my mother language, so l’m sorry if there’re some grammar mistakes make you confused.

1 Reply

Hi @earthmessenger,

 

I've just come across a similar problem where I'm unable to download an invalid JSON file using the graph API on NodeJS.

 

I believe the reason for both our issues is that the API is parsing the JSON file into a Javascript object and that causes an error if the parse fails.

 

Comments (i.e hashes #) in JSON files are invalid, so that would explain your issue too.

 

It would be useful to have a raw option or something like that to enabled downloading JSON files as text.

 

Unfortunately I can't give a solution, but hopefully knowing the likely reason will help.

 

Cheers - Lawrence