@ sage444 ваш ответ - это то, что я ищу в течение нескольких часов. Работает как шарм.
Я просто предоставляю версию Swift для будущих читателей:
let predicate = NSPredicate(format: "%K.stringValue CONTAINS[c] %@",
#keyPath(YOUR_MODEL.number),
substring)
Согласно вашему сценарию, вы должны указать свой заголовок как Headers @{Authorization = "Bearer "+ $TokenResult.access_token}
. Есть образец, который я использую.
$Params = @{
'client_id' = ''
'redirect_URI' = ''
'response_type'='code'
'scope' = 'https://graph.microsoft.com/.default offline_access'
}
$ClientSecret ='.C$S|NAYQ:q)ES2w(A)*]Xp5T-?Fx+[aKE+YtmcaX!u1!{>T*wVJ70h:Q2s'
$TeantID = 'e4c9ab4e-bd27-40d5-8459-230ba2a757fb'
$Query = "?"; $Params.Keys | % {$Query+= "$( Согласно вашему сценарию, вы должны указать свой заголовок как Headers @{Authorization = "Bearer "+ $TokenResult.access_token}
. Есть образец, который я использую.
[110] Подробнее см. На https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow
)=$($Params.Item( Согласно вашему сценарию, вы должны указать свой заголовок как Headers @{Authorization = "Bearer "+ $TokenResult.access_token}
. Есть образец, который я использую.
[110] Подробнее см. На https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow
))&"} ; $Query = $Query.TrimEnd('&')
$IE= new-object -ComObject "InternetExplorer.Application"
$IE.Visible = $true
$IE.navigate2("https://login.microsoftonline.com/$($TeantID)/oauth2/authorize$Query")
Write-Host 'Press enter when Code is displayed in URL'
pause
Add-Type -AssemblyName System.Web
$Code = [System.Web.HttpUtility]::ParseQueryString(([uri]$ie.LocationURL).Query)['code']
$ie.quit()
$TokenResult = Invoke-RestMethod -Method Post -ContentType 'application/x-www-form-urlencoded' -Uri "https://login.microsoftonline.com/$($TeantID)/oauth2/v2.0/token" -Body @{
client_id = $Params.client_id
scope = 'User.Read offline_access'
code = $Code
redirect_uri = $Params.Redirect_URI
grant_type = 'authorization_code'
client_secret = $ClientSecret
}
Invoke-RestMethod -Method Get -Uri 'https://graph.microsoft.com/v1.0/me' -Headers @{Authorization = "Bearer "+ $TokenResult.access_token}
Подробнее см. На https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow
Если вы хотите назвать свой пользовательский API, вам нужно указать свою область действия. Пожалуйста, добавьте свою собственную область API в значение своей области, когда получите токен доступа. Для более подробной информации вы можете обратиться к этому образцу .
Я полагаю, вы не настроили свой API в AAD. Чтобы получить доступ к API через приложение AD, вам также необходимо создать приложение AD для вашего API на портале, см. Зарегистрируйте приложение с помощью конечной точки Azure Active Directory v2.0. и настройте его для предоставления API, см .: Настройте приложение для предоставления веб-API (предварительный просмотр) и Настройте клиентское приложение для доступа к веб-API (предварительный просмотр) . После этого вы сможете вызывать API-интерфейсы, такие как Graph API, API Office 365 и т. Д.
Вы можете разработать веб-API и сделать его доступным для клиентских приложений, указав разрешения / области действия и роли. Правильно настроенный веб-API доступен так же, как и другие веб-API Microsoft, включая Graph API и API Office 365.
BLOCKQUOTE>