архивировать команду Microsoft с помощью Microsoft graph

#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))