"Empty Payload. JSON content expected" 调用 Microsoft Graph 时出错(Guzzle & PHP)

"Empty Payload. JSON content expected" error calling Microsoft Graph (Guzzle & PHP)

我正在尝试调用 Microsoft Graph API 来重置已注册 Intune 的设备上的密码。不幸的是,当我去打电话时,我收到一条错误消息,指出 JSON 有效负载为空。特定端点不需要 JSON 有效负载,实际上它表示根本不包含正文。

我尝试添加一些 JSON 以查看是否可以满足错误,但我仍然收到相同的错误消息。

这是我正在拨打的电话:

$client = new Client();

    try{
        $client->post('https://graph.microsoft.com/beta/managedDevices/12345resetPasscode', [
            'headers' => [
                'Authorization' => 'Bearer 12345',
                'Accept'        => 'application/json',
                'Content-Type'  => 'application/json',
                'json'          => json_encode(['hello' => 'world']),
            ]
        ]);
    } catch (\GuzzleHttp\Exception\ClientException $e) {

        dd($e->getResponse()->getBody()->getContents());

    }

这是我收到的错误: "Bad Request: Empty Payload. JSON content expected." https://i.stack.imgur.com/gwwtJ.png

这是我正在处理的 API 文档:https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/intune_devicefe_manageddevice_resetpasscode

使用 PHP 7 & Guzzle 6

感谢任何帮助!

我是 Microsoft Intune 团队的一名工程师,致力于 Microsoft Graph 和 Intune 之间的集成。

文档中似乎有错误(我会确保已修复)。您应该使用的正确 URL 是:

https://graph.microsoft.com/beta/managedDevices/12345/resetPasscode

其中 12345 是设备的 ID。

希望能解决您的问题

彼得