La creación de un Grupo vía Microsoft Graph devuelve el error "Un nodo PrimitiveValue inesperada se encontró en la lectura del lector de JSON"

votos
1

Estoy intentando crear groupusando mi cuenta de administrador a través de Microsoft Graph. He implementado todos los parámetros / variables necesarias, pero cuando he intentado realizar llamadas a la API, se visualiza el error a continuación:

{
    error: {
        code: Request_BadRequest,
        message: An unexpected 'PrimitiveValue' node was found when reading from the JSON reader. A 'StartArray' node was expected.,
        innerError: {
            request-id: 02bfcc43-5982-4c49-8484-da9d6cc61bab,
            date: 2017-12-05T17:53:57
        }
    }
}

Mi código:

<?php 
session_start();


echo $acc= $_SESSION['access_token'];

$data_string = array(description => An Awesome New Group, displayName => Awesome Group, groupTypes => Unified, mailEnabled => true, mailNickname => awesomeGroup, securityEnabled => fasle); 
$data = json_encode($data_string); 
//$data = $data_string; 
$curl = curl_init();

curl_setopt_array($curl, array( 
CURLOPT_URL => https://graph.microsoft.com/v1.0/groups,

CURLOPT_HEADER => true,
CURLOPT_RETURNTRANSFER => true, 
CURLOPT_ENCODING => , 
CURLOPT_MAXREDIRS => 10, 
CURLOPT_TIMEOUT => 30, 
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, 
CURLOPT_CUSTOMREQUEST => POST, 
CURLOPT_POSTFIELDS => $data, 
CURLOPT_HTTPHEADER => array( 
accept: application/json, 
authorization: Bearer $acc, 
content-type: application/json; charset=utf-8 
), 
));

$response = curl_exec($curl); 
$err = curl_error($curl);

curl_close($curl);



print_r($response);




if ($err) { 
echo cURL Error #: . $err; 
} else { 
//echo $response; 
}
?>

Tenga en cuenta que mi verdadera Identificación del inquilino fue reemplazado con admin@secx34fake.onmicrosoft.comlo que su No aparece para público.

Publicado el 05/12/2017 a las 05:03
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
0

El error que está diciendo que la URL que está utilizando no es válido.

Esto es más preciso /v1.0/admin@secx34fake.onmicrosoft.com/groupsno es un punto final válido. Específicamente, rechazando la userPrincipalNamede admin@secx34fake.onmicrosoft.com. No estoy muy seguro de dónde iba con esto, pero una Groupno es un niño de un Userobjeto. Un usuario puede ser miembro de un grupo, pero ambos son elementos de nivel superior dentro de su Active Directory.

Como un aparte, un "segmento" en el contexto de un URL es los elementos separados por una /. Se puede pensar en una URL como una /cadena delimitada con cada columna siendo un "segmento". Por ejemplo, /v1.0/me/eventsconsta de 3 segmentos: v1.0, mey events. El error que tienes te está diciendo uno de estos "segmentos" no es válida o no en el orden correcto (es decir, /v1.0/events/metiene los segmentos adecuados en el orden equivocado).

Para crear un grupo , el URI correcto es el siguiente:

POST https://graph.microsoft.com/v1.0/groups

Dentro del cuerpo de su POSTdefinir las propiedades del grupo. Por ejemplo:

{
  "description": "An Awesome New Group",
  "displayName": "Awesome Group",
  "groupTypes": ["Unified"],
  "mailEnabled": true,
  "mailNickname": "awesomeGroup",
  "securityEnabled": false
}
Respondida el 05/12/2017 a las 11:29
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more