2017-02-16 8 views
0

Я пытаюсь создать новую папку на OneDrive через API, но я получаю ExceptionСоздать папку на OneDrive с API

Fatal error: Uncaught exception 'League\OAuth2\Client\Provider\Exception\IdentityProviderException' with message 'Must provide one of the following facets to create an item: Bundle, File, Folder, RemoteItem

Это с $a = ["name" => "Folder"];.

Если изменить его к этому:

$a = ["name" => "Folder", "folder" => array()]; 
$this->provider->post('https://graph.microsoft.com/v1.0/me/drive/root/children',$a,$_SESSION['access_token']); 

Тогда я получаю

Property folder in payload has a value that does not match schema

Из example page Я предполагаю, что folder значение должно быть пустым массивом.

+0

Вы можете разместить JSON из тела POST? Я обеспокоен тем, что пустой массив не включен в фактическое тело POST. –

+0

Я уже решил проблему, но я не понимаю, почему в [docs] (https://dev.onedrive.com/items/create.htm) в ПРИМЕРЕ параметр 'folder' JSON пуст – jemcaj

ответ

3

Правильный формат для папки был $folderParameters = ["name" => $folderName, "folder" => ["childCount" => '0']];

+0

В Swift это формат, который работал для меня. '[" name ":" FolderName "," folder ": [" childCount ":" 0 "]] as [String: Any]' –