#python #microsoft-graph-api
#python #microsoft-graph-api
Вопрос:
Я пытаюсь архивировать команду Microsoft
$scopes = 'Group.ReadWrite.All'
$appid = ‘’
$appsecret = ''
$appaaddomain = ''
$url = "https://graph.microsoft.com/v1.0/teams/{team-id}/archive"
…
Invoke-RestMethod -Method "Post" -Uri $url -Headers @{Authorization = "Bearer $token"
Я получаю ошибку 403.
{ «ошибка»: { «код»: «Доступ запрещен», «сообщение»: «Не удалось получить поток команды: не удалось выполнить серверный запрос Skype GetThreadRequest.», «innerError»: { «идентификатор запроса»: «99b1dd19-7f58-4237-bb80-d04345d67ae5», «дата»: «2019-03-03T23:18:55» } } }
Что я делаю не так?
Удаление команды сработает
$scopes = 'Group.ReadWrite.All'
$appid = ‘’
$appsecret = ''
$appaaddomain = ''
$url = "https://graph.microsoft.com/v1.0/groups/{team-id}"
…
Invoke-RestMethod -Method "Delete" -Uri $url -Headers @{Authorization = "Bearer $token"
Тот же результат получен с Microsoft graph Explorer (здесь я даю все возможные разрешения)
Ответ №1:
Я не вижу ничего плохого в вашем подходе — ниже я включил код Python, который я использую для архивирования Teams, и, похоже, тот же процесс используется в вашем коде. Это могло быть временной ошибкой. Я получил то же сообщение несколько дней назад, когда некоторые изменения не позволили создать новые каналы (даже в графическом интерфейсе).
import requests
import json
# config file with site-specific values
from config import strClientID, strClientSecret, strGraphAuthURL, strTenantID
postData = {"grant_type": "client_credentials","client_id" : strClientID,"client_secret": strClientSecret,"scope": "https://graph.microsoft.com/.default"}
r = requests.post(strGraphAuthURL, data=postData)
strJSONResponse = r.text
if len(strJSONResponse) > 5:
jsonResponse = json.loads(strJSONResponse)
strAccessToken = jsonResponse['access_token']
getHeader = {"Authorization": "Bearer " strAccessToken }
postRecord = requests.post("https://graph.microsoft.com/beta/teams/{teamID}/archive",headers={"Authorization": "Bearer " strAccessToken})
print("HTTP Status Code:t%snResult code content:t%s" % (postRecord.status_code, postRecord.content))