调用Microsoft Graph 时出错"Empty Payload. JSON content expected"(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 (GuzzleHttpExceptionClientException $e) {
        dd($e->getResponse()->getBody()->getContents());
    }

这是我收到的错误:"不良要求:空有效载荷。预期的JSON内容。"https://i.stack.imgur.com/gwwtj.png

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

使用PHP 7&Guzzle 6

任何帮助都将受到赞赏!

我是Microsoft Intune团队的工程师,研究了Microsoft Graph和Intune之间的集成。

看来文档中存在错误(我将确保已修复)。您应该使用的正确URL是:

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

其中12345是设备的ID。

希望解决您的问题

彼得

最新更新