Как использовать ONE DRIVE API для предварительного просмотра файла в офисе, чем один диск, используя PHP curl - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь просмотреть мой документ в офисе не на одном диске. Я прочитал документацию и передал необязательный параметр office в средство просмотра. Но он продолжает показывать мне в одном диске. Вот код:

BLADE FILE

<div class="row">
                <div class="col-md-12">

                    <h4 class="col-xs-12 col-md-12 mb-3 mt-5">Preview</h4>
                    <a href="/preview" class="btn btn-success">Preview</a>
                </div>
            </div>

Теперь я использую конечную точку, которая находится в контроллере, который предоставляет мне getUrl, который я затем передаю в iframe и наблюдаю результат. Контроллер

    public function preview(){
          // API URL
          $val = session()->get('key');
// in endpoint me/drive/item/{item id}/preview is passed
$url = "https://graph.microsoft.com/v1.0/me/drive/items/01D5FRUAMCAYZLIOGFGFFL47ACY2XUIA46/preview";
          // Initialize a CURL session.
          $ch = curl_init($url);

          // // Return Page contents.
          $data = array(
            'viewer' => 'office',
            'chromeless' => false,
            'allowEdit' => true,
        );
        $payload = json_encode($data);

        // Attach encoded JSON string to the POST fields
        curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);

        // Set the content type to application/json
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type:application/json',
        'Client-Id: ID-PASSEd',
        'Authorization: bearer ' . $val,));
        // Return response instead of outputting
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        // Execute the POST request
        $result = curl_exec($ch);  
        return $result;
        }

Маршрут Route :: get ('preview', 'AuthController@preview'); Изображение отображается, но, как вы видите на нижняя открыта в одном приводе не в офисе

...