Доступ к onenote через API MS graph

Я прочитал много документов и разных сообщений, но не могу получить нужный токен доступа для чтения моего собственного OneNote через api.

  • У меня есть учетная запись MS и приложение на лазурном портале.
  • В графическом обозревателе я МОГУ читать свой OneNote.
  • Если я скопирую токен доступа из графического обозревателя, мой код будет работать нормально.

НО:

  • Если я запрашиваю токен доступа у https://login.microsoftonline.com/{tried 'common' or my tenant_id here}/oauth2/v2.0/token, он не работает:

The OAuth token provided does not have the necessary scopes to complete the request. Please make sure you are including one or more of the following scopes: Notes.ReadWrite.All,Notes.Read.All

  • Я создал приложение на портале Azure и дал ему все разрешения на чтение, которые я нашел (как для API-интерфейсов с одной заметкой, так и для API-интерфейсов MS, как делегированных, так и приложений ... только для тестирования) и сгенерировал секрет
  • Я пытаюсь выполнить следующий запрос:
token_request_data = {
    'client_id': 'id from my app',     # also tried 'common'
    'scope': 'https://graph.microsoft.com/.default',  # other scopes cause errors
    'client_secret': 'secret from my app',
    'grant_type': 'client_credentials'
}

Может, кто-нибудь подскажет, что я делаю не так? :)

Пример запроса через проводник графиков: https://graph.microsoft.com/v1.0/users/{my_username}@outlook.com/onenote/sections

Снимок экрана с разрешениями в приложении (портал Azure)

Разрешения на снимке экрана проводника графиков


comment
Вы добавили разрешения для приложений «Notes.Read.All» в приложении Azure. Поскольку вы используете тип предоставления client_credential, вам необходимо предоставить разрешения приложения. Также поделитесь вызовом графика, который вы используете в проводнике графиков. Также поделитесь снимком экрана с разрешениями, которые вы добавили в приложение Azure AD.   -  person Shiva Keshav Varma    schedule 13.12.2020
comment
Здравствуйте, я добавил скриншоты и образец запроса в конце моего сообщения с вопросом.   -  person jarekj9    schedule 13.12.2020
comment
Notes.Read.All и Notes.readWrite.All действительны только для рабочих или учебных учетных записей. См. Этот документ.   -  person Shiva Keshav Varma    schedule 13.12.2020
comment
@ Shiva-MSFTIdentity Вы должны дать ответ :)   -  person juunas    schedule 13.12.2020
comment
Конечно, спасибо, что напомнили @juunas :) -   -  person Shiva Keshav Varma    schedule 13.12.2020
comment
Спасибо. Кажется, у меня может быть только Notes.Read. Я не смогу читать свои OneNote через API без входа в систему через браузер?   -  person jarekj9    schedule 13.12.2020
comment
Да, сейчас вы не можете этого сделать. Если опубликованный ответ решает ваш вопрос, отметьте его как ответ, установив флажок. Это поможет другим найти ответы на свои вопросы. См. meta.stackexchange.com/questions / 5234 /.   -  person Shiva Keshav Varma    schedule 13.12.2020


Ответы (1)


Notes.Read.All и Notes.readWrite.All действительны только для рабочих или учебных аккаунтов. См. Этот документ.

person Shiva Keshav Varma    schedule 13.12.2020