Создание папки — Microsoft Graph v1.0

Twitter LinkedIn Facebook Адрес электронной почты

  • Статья

Пространство имен: microsoft.

graph

Создание папки или ресурса DriveItem в объекте Drive с указанным родительским элементом или по указанному пути.

Разрешения

Для вызова этого API требуется одно из следующих разрешений. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.

Тип разрешенияРазрешения (в порядке повышения привилегий)
Делегированные (рабочая или учебная учетная запись)Files.ReadWrite, Files.ReadWrite.All, Sites.ReadWrite.All
Делегированные (личная учетная запись Майкрософт)Files.ReadWrite, Files.ReadWrite.All
Для приложенийFiles.ReadWrite.All, Sites.ReadWrite.All

HTTP-запрос

POST /drives/{drive-id}/items/{parent-item-id}/children
POST /groups/{group-id}/drive/items/{parent-item-id}/children
POST /me/drive/items/{parent-item-id}/children
POST /sites/{site-id}/drive/items/{parent-item-id}/children
POST /users/{user-id}/drive/items/{parent-item-id}/children

Текст запроса

Предоставьте в тексте запроса описание создаваемого ресурса DriveItem в формате JSON.

Отклик

В случае успеха этот метод возвращает код отклика 201 Created и ресурс DriveItem в тексте отклика.

Пример

Запрос

Ниже показан пример запроса на создание папки в корневой папке OneDrive пользователя, выполнившего вход в систему. Используемое свойство @microsoft.graph.conflictBehavior указывает, что если при создании папки оказалось, что уже существует элемент с таким именем, служба должна выбрать новое имя папки.

  • HTTP
  • C#
  • JavaScript
  • Java
  • Go
  • PowerShell
  • PHP
  • Python
POST /me/drive/root/children
Content-Type: application/json
{
  "name": "New Folder",
  "folder": { },
  "@microsoft.graph.conflictBehavior": "rename"
}

Отклик

При успешном выполнении этот метод возвращает созданную папку в виде ресурса DriveItem.

HTTP/1.1 201 Created
Content-Type: application/json
{
  "createdBy": {
    "user": {
      "displayName": "Ryan Gregg",
      "id": "309EC495-3E92-431D-9124-F0299633171D"
    }
  },
  "createdDateTime": "2016-09-20T14:34:00Z",
  "eTag": "343F1FBD-E9B3-4DDE-BCA7-D61AEAFF44E5,1",
  "id": "ACEA49D1-1444-45A9-A1CB-68B1B28AE491",
  "lastModifiedBy": {
    "user": {
      "displayName": "Ryan Gregg",
      "id": "309EC495-3E92-431D-9124-F0299633171D"
    }
  },
  "lastModifiedDateTime": "2016-09-20T14:34:00Z",
  "name": "New Folder",
  "parentReference": {
    "driveId": "5FE38E3C-051C-4D55-9B83-8A437658275B",
    "id": "E67A8F34-B0AA-46E1-8FF7-0750A29553DF",
    "path": "/drive/root:/"
  },
  "size": 0,
  "folder": {
    "childCount": 0
  }
}

Отклик с ошибкой

Дополнительные сведения о возвращении ошибок см. в статье Ответы с ошибками.

Как создать файл или папку на сервере в корне сайта WordPress

Привет всем! Не знаете, как создать папку или файл на сервере? В сегодняшнем уроке мы создадим папку в корне сайта WordPress. А также сформируем файл и назначим расширение.

Цель создания папок и файлов в корневом каталоге

Для какой цели это может понадобиться? Предположим, вы решили создать дочернюю тему без плагина. Тут никак не обойтись без создания папки и как минимум двух файлов, один из которых будет functions.php и style.css. А возможно, ещё и header.php, footer.php и другие.

Кроме того, при использовании услуг сторонних сервисов, например, рекламных, может потребоваться создание файла с определённым именем и содержимым. Что производится для подтверждения прав на сайт.

Как создать папку на сервере в корневом каталоге

Итак, переходим к инструкции. Я буду показывать на примере своего хостинга Timeweb. Заходим в панель управления и открываем раздел «Файловый менеджер». Если ваш хостинг иной, интерфейс будет отличаться, поэтому ищите схожие по смыслу разделы.

Далее нам нужно перейти в корневую папку сайта. И если в нашем случае сайт установлен на конструктор WordPress, то заходим в одноимённую папку и следом в папку public_html. Теперь мы находимся в корне сайта.

А далее всё зависит от целей формирования новой папки. Что обусловливает её местоположение в каталоге. И если наша задача создать папку для дочерней темы, то переходим в «themes» по такому пути:

wordpress/public_html/wp-content/themes

Здесь разворачиваем вкладку «Файл» и выбираем пункт «Новая папка».

Появится новое окно. В нём прописываем название новой директории. И нажимаем кнопку «Создать папку».

Надо полагать, папка будет не пустая. Поэтому посмотрим, как сформировать новый файл и выбрать расширение.

Как создать файл в корне сайта

Дальнейшие действия могут производиться в различных папках. Если вам просто необходимо добавить новый файл в корень, то проходим по тому же пути, как и для создания папки (wordpress/public_html).

А если вам нужно создать документы в новой папке, то открываем её. И далее так же разворачиваем вкладку «Файл». А затем выбираем опцию «Новый файл».

Теперь в открывшемся окне задаём имя новому файлу. Например, functions. Не обращайте внимание на замечание на моём скриншоте, что имя уже используется. Я лишь показываю пример.

Итак, название готово. А далее необходимо присвоить расширение. В моём случае это будет php. Но у вас может быть иное, если вы формируете другой файл. Список содержит также расширения html, css, js, json, txt и многие другие.

Когда имя и расширение заданы, жмём кнопку «Создать файл». Но это ещё не всё. Далее следует обратить внимание на один нюанс. Разумеется, свои файлы вы будете наполнять неким содержимым. Так вот, в зависимости от типа файла и его расширения соответственно, содержимое может оборачиваться в теги. Либо в этом не будет необходимости.

Давайте посмотрим пару примеров:

  1. Допустим, вы создали файл style.css. Тогда вы просто наполняете его различными свойствами и необходимыми данными по мере надобности, внося изменения в стиль.
  2. И второй пример — это functions. php. Если вы откроете аналогичный файл, то увидите теги <?php и ?>.

Здесь же хочу заметить, что некоторые хостинги, например Timeweb, при формировании файла самостоятельно создают внутри него необходимые теги. Смотрим скриншот:

Поэтому обязательно проверьте перед вставкой какой-либо функции, иначе она не будет работать. А возможно, что ваша функция уже обёрнута в данные теги. Так что, если возникнут сомнения, ориентируйтесь по аналогичным файлам других установленных тем WordPress.

Как создать папку с помощью API? — Разработка

гплана

#1

Привет.

Я создал небольшое php-приложение, которое загружает файл с помощью curl, чтобы выполнить вызов webdav с использованием метода PUT. Это отлично работает.
Однако мне не удается использовать API для создания папки (идея состоит в том, чтобы создать папку из php, а затем загрузить файл в эту новую папку).


Я прочитал, что мне следует использовать OCP вместо OCS или webdav. Также я думаю, что нашел документацию по функции, которая у меня есть для всех: https://doc.owncloud.org/api/classes/OCP.Files.Folder.html#method_newFolder, но я не нашел ни одного примера того, как могу ли я сделать этот вызов из php.

Может ли кто-нибудь показать мне пример?

Спасибо.

Драготин

#2

Вам просто нужно сделать вызов WebDAV, выполняя MKCOL, аналогично тому, как вы делаете PUT.

гплана

#3

Спасибо за ответ. Я пытался, но, похоже, это не работает.

Я сделал это с помощью командной строки Linux:

curl -X MKCOL «https://myserver/remote. php/webdav/existing_folder/new_folder» -k -u my_user:mypassword

После этого вызова я получаю ответ:


301 Перемещен навсегда

Документ перемещен сюда.



Сервер Apache/2.4.10 (Debian) на порту myserver 80

Но когда я вхожу в owncloud со своими учетными данными (согласно примеру, мой пользователь / мой пароль), я не вижу папку.

Что я делаю не так?

гплана

#4

Это действительно странно, но перемещение параметра -X MKCOL в конец, похоже, заставляет его работать.

Итак, теперь это работает. Спасибо!!

рршенде

#5

Я пытаюсь создать папку, используя API owncloud в java. Я получаю сообщение «Ошибка построения пути pkix sun.

security.provider.certpath.suncertpathbuilderexception», потому что я предполагаю, что org.apache.commons httpClient не может доверять этому серверу. Я попытался решить эту проблему, зарегистрировав самозаверяющий сертификат в CloseableHttpClient. Но я предполагаю, что CloseableHttpClient не поддерживает MKCOL jackrabbit. Любые предложения о том, как я могу решить эту проблему?

Габриэла_Перес_Рейес

#6

Привет,

URL-адрес https://doc.owncloud.org/api/classes/OCP.Files.Folder.html#method_newFolder не работает, не могли бы вы мне помочь? Мне нужно создать папку, но я не я знаю как.

заранее спасибо

tom42

#7

Эй,

Я не уверен, что документация поможет вам.

Если я правильно понимаю следующий пост, вместо этого вам следует использовать методы WebDAV:

Из того, что я читал в прошлом, API, предоставляемый ownCloud для операций с файлами, таких как загрузка/создание/удаление файлов и папок, — это WebDAV.

энебауэр

#8

Привет Габриэла,

Не знаю, чего вы пытаетесь достичь.
Возможно, это поможет вам?
https://doc.owncloud.com/server/user_manual/files/access_webdav.html#accessing-files-using-curl
Ура,
Эрик

1 Нравится

стриквид

#10

  1. curl -X MKCOL для создания папки.
  2. curl -X PUT / —data-binary @ для загрузки файла.
стриквид

#11

это можно сделать с помощью команд.. .

Настройка папок в корневом каталоге содержимого

В корневом каталоге содержимого PhpStorm может различать папки, содержащие исходный код, и те, которые следует игнорировать при поиске, анализе, просмотре и т. д. Чтобы различать разные типы папок, пометьте любую папку ниже корня содержимого как исходную папку или как исключенную.

Внутри корня содержимого PhpStorm может различать исходные папки, корневые папки ресурсов, тестовый исходный код и исключенные папки.

Папка, помеченная как Source, является корневой папкой для всех пространств имен PHP в текущем проекте.

На файлы в папке, помеченной как корень ресурса, можно ссылаться относительно этой папки. Исключенные папки не участвуют в индексации и поэтому игнорируются при поиске, парсинге, просмотре и других операциях.

Чтобы использовать это различие, вы можете пометить любую папку ниже корня содержимого как Источник, Корень ресурса, Тест или Исключено.

Конфигурация папок, которую вы определяете, также регулирует поведение проверки использования внутренних сущностей PhpStorm, которая обнаруживает неправильное использование сущностей, помеченных как @internal .

Маркировка каталогов

Вы можете присвоить папке категорию двумя способами:

  • Используя страницу «Каталоги» в настройках.

  • В окне инструментов проекта с помощью контекстного меню папки.

Пометить каталоги в корне содержимого

  1. В диалоговом окне «Настройки» ( Ctrl+Alt+S ) выберите «Каталоги».

  2. На странице Каталоги щелкните нужный корень содержимого. Каталоги в этом корневом каталоге содержимого отображаются в виде дерева на правой панели.

  3. Выберите каталог и используйте его контекстное меню или панель инструментов Отметить как, чтобы отметить его как один из следующих:

    • Тесты: PhpStorm считает содержимое папки Tests модульными тестами.

    • Источники: PhpStorm считает папку Sources корневой для пространств имен, используемых в вашем проекте.

      На основе этого параметра PhpStorm предлагает правильное имя папки, когда вы хотите создать новое пространство имен в другом родительском пространстве имен во время создания или перемещения класса PHP, то есть когда вы фактически создаете или перемещаете класс PHP в не- существующее пространство имен в другом родительском пространстве имен. Если папка Sources не указана, вам придется ввести нужную папку вручную.

      Назначение папки «Источники» не является обязательным, но это помогает поддерживать структуру проекта в соответствии со стандартами PSR0 и PSR4. Дополнительные сведения см. в разделе Настройка пространств имен PHP в проекте.

    • Excluded: PhpStorm игнорирует папки Excluded во время индексации, синтаксического анализа, завершения кода и т. д.

      Особым случаем исключенных папок являются корни библиотеки. Папки библиотек — это исключенные корневые каталоги, которые содержат библиотеки, поскольку PHP включает пути и поэтому индексируются. Подробнее см. в разделе Корни библиотеки PHP.

    • Корень ресурса: PhpStorm заполняет относительные пути к ресурсам в корневой папке ресурсов.

Пометить каталоги в окне инструмента «Проект»

  1. Щелкните правой кнопкой мыши нужный каталог в окне инструмента «Проект».

  2. В контекстном меню выберите пункт Пометить каталог как узел.

  3. Выберите Отметить как <состояние каталога>.

Удаление каталогов

Чтобы вернуть папке ее обычный статус, необходимо снять с нее пометку.

  • На странице «Каталоги» в настройках выполните одно из следующих действий:

    • Выберите каталог в списке папок в корневом каталоге содержимого и щелкните :

    • Еще раз щелкните значок состояния папки.

    • Выберите соответствующую команду из контекстного меню справочника.

  • В окне инструмента «Проект» щелкните правой кнопкой мыши нужный каталог, выберите узел «Пометить каталог как» и выберите «Снять отметку как <состояние каталога>».

Обработка внутренних сущностей

Проверка использования внутренних сущностей PhpStorm обнаруживает неправильное использование сущностей, помеченных аннотацией

@internal . Такие объекты должны быть внутренними для пакета или библиотеки.

Конфигурация папок, которую вы определяете для своего проекта, регулирует, рассматривается ли объект как внутренний или нет PhpStorm:

  • В проекте без каких-либо настроенных папок источников, нет @internal Использование классов помечено.