调用Microsoft Graph(Guzzle& PHP)

时间:2017-09-21 14:40:17

标签: php json microsoft-graph guzzle intune

我正在尝试调用Microsoft Graph API来重置在使用Intune注册的设备上的密码。不幸的是,当我去打电话时,我收到一条错误,指出JSON Payload为空。特定端点不需要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());

    }

以下是我收到的错误: “错误的请求:空的有效负载。预计JSON内容。” 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

感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

我是Microsoft Intune团队的工程师,负责Microsoft Graph和Intune之间的集成。

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

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

其中12345是设备的ID。

希望能解决您的问题

彼得