SharePoint - автоматическая отправка и получение файлов с помощью VBScript

Мне нужно будет загружать и извлекать файлы с сайта SharePoint, который не размещен в моей компании (он внешний). У меня будет всего несколько дней (если так), чтобы все заработало, поэтому у меня не так много времени на эксперименты.

Чтобы добавить к моим требованиям / головной боли, мне нужно реализовать это с помощью VBScript. Для меня предпочтительнее .Net, но по независящим от меня причинам я должен использовать VBScript. У меня нет прямого доступа к моему веб-серверу VBScript, поэтому я не смогу реализовать это в .NET и использовать этот объект из VBScript.

Я ищу все, что помогло бы мне достичь этой цели быстро и эффективно. Я нашел этот пост и мне интересно, подойдет ли мне используемый здесь метод PUT / GET?

http://weblogs.asp.net/bsimser/archive/2004/06/06/149673.aspx (я получил эту ссылку от: Sharepoint API - Как загрузить файлы в библиотеку документов Sharepoint из веб-приложения ASP.NET)

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

Искреннее спасибо!

С уважением,
Франк

Отчет о ходе работы: я все еще изучаю этот вопрос. Том указал, что опубликованный мною пример, вероятно, взят из старой версии SharePoint. Его рекомендация использовать .Net для разработки прототипа веб-служб хороша, но я надеюсь на более подробные ответы.

Теперь мне интересно, смогу ли я выполнить то, что мне нужно, с помощью HTTP PUT и GET. В моей компании для конкретного проекта мы используем HTTP PUT и GET, чтобы делать что-то подобное. У нас есть файлы, которые хранятся на HTTP-сервере, и именно так мы их публикуем и получаем.

Будет ли это работать через SharePoint или SharePoint потребует особого обращения? В общем, должен ли я использовать веб-службы?

Обновление 2: эта ссылка полезна ... Загрузить файл в SharePoint через встроенные веб-службы

Но я все еще ищу дополнительную информацию по этой теме ... Всем спасибо ...


person Frank V    schedule 06.05.2009    source источник
comment
Небольшое примечание: я не знаю, с какой версией SharePoint буду работать.   -  person Frank V    schedule 06.05.2009


Ответы (5)


Вам нужно будет использовать веб-службу списков sharepoint для метаданных и получения / размещения для загрузки. Эта ссылка предназначена для SharePoint 2001, поэтому, надеюсь, вы сможете использовать более новую / более простую версию.

Я рекомендую сначала создать что-нибудь в .net, чтобы отработать вызовы веб-сервисов - некоторые параметры могут быть довольно сложными для отладки, и я бы не хотел делать это на удаленной странице vbscript.

Предполагая, что метаданные не требуются, а библиотека SharePoint используется как файловый сервер, вы можете делать большую часть того, что хотите, с помощью PUT / GET, но вам, вероятно, понадобится вызов GetListItems, чтобы найти URL-адреса для загрузки.

В моем блоге есть пример вызова этой веб-службы на более низком уровне - это javascript, но, вероятно, достаточно близкий.

http://tqcblog.com/2007/09/24/sharepoint-blog-content-rating-with-javascript-and-web-services

Настройка версии .net дает вам очень быструю настройку подключения к серверу (просто добавьте ссылку на веб-службу в Visual Studio), чтобы вы могли получить строки запроса и queryoptions, работающие для получения нужных вам элементов. Как только это сработает, вам просто нужно собрать все это в виде веревки, включая мыло, для использования без всех хороших инструментов.

person Tom Clarkson    schedule 06.05.2009
comment
Как я уже сказал, у меня нет времени на эксперименты. Итак, мне пришлось бы начать с VBScript. Можете ли вы расширить вызовы веб-сервисов? Могу ли я совершать эти звонки независимо от моей близости к серверу? - person Frank V; 06.05.2009

Мне немного неясен контекст реализации и предпосылки использования VBScript. Перемещаются ли файлы с одного сервера на другой или с рабочего стола пользователя на этот сервер SP? или они доступны через программное обеспечение, такое как Excel?

Первое, что пришло мне в голову (это может звучать безумно), было использование приложения Office для установления соединения. Ваш сценарий вызовет Excel (в качестве примера) и передаст ему vba, необходимый для запуска открытого файла, а затем предоставит полный путь к файлу, который необходимо получить. Затем попросите его выполнить «Сохранить как» в том месте, где требуется файл. Сделайте то же самое, но в обратном порядке, чтобы разместить файлы на сервере SharePoint.

Самая сложная часть, очевидно, заключается в том, чтобы заставить скрипт взаимодействовать с приложением Office. Я знаю, что это можно сделать с версией PHP для Windows, но я не хочу вдаваться в подробности, не зная вашей ситуации.

person Anthony    schedule 20.05.2009
comment
DTS. Мы будем использовать то, что DTS называет сценариями ActiveX, то есть VBScript. - person Frank V; 21.05.2009

Я серьезно задаюсь вопросом, сможете ли вы использовать VBScript для вызова веб-служб SharePoint. Я какое-то время не смотрел веб-службы SharePoint, поэтому не помню точно, как они определены. Я думал, что веб-службы - это вызовы SOAP, что делает их сложнее, чем

Я не уверен, что пытался использовать Excel для вызова некоторых веб-служб с помощью MSSOAP .SoapClient, и казалось, что этот компонент не может обрабатывать какие-либо типы WSDL, кроме очень простых строк. Все, что связано с вложенными данными, работать не будет. Вместо этого вам нужно будет создать COM-объект для обработки преобразования, что является серьезной проблемой. Если вы можете использовать компонент XMLHTTP, это возможно с VBScript, но я не уверен, будет ли он работать с веб-службами SharePoint.

Я не понимаю, что вы имеете в виду: «У меня нет прямого доступа к моему веб-серверу VBScript». Ваш веб-сервер на VBScript (ASP)? Или вы имели в виду сервер SharePoint?

Вы можете рассматривать C # Script (cs-script) как решение на основе сценария, использующее .NET. Я добился хороших результатов, хотя его нужно установить на компьютер, на котором запущен сценарий.

person Ryan    schedule 21.05.2009
comment
Я не могу администрировать сервер; Я не могу устанавливать на него какие-либо вещи и не могу изменять какие-либо конфигурации. Я могу использовать только то, что уже есть в коробке - DTS ActiveX script или Classic-ASP VBScript. - person Frank V; 21.05.2009

Я объединяюсь между двумя компаниями. Согласно эту книгу, мы должны использовать AD FS, чтобы выполнить то, что я ищу.

У меня до сих пор этого нет, поэтому если у кого-то есть дополнительная информация, я изменю ответ на этот вопрос.

http://books.google.com/books?id=-6Dw74If4N0C&pg=PA27&lpg=PA27&dq=sharing+sharepoint+sites+external+adfs&source= bl & ots = ojOlMP13tE & sig = FjsMmOHymCOMGo7il7vjWF_lagQ & hl = en & ei = ytqfStClO5mMtgejsfH0Dw & sa = X & oi = book_result & ct = result & resnum = 5 # v & f = onepage & amp;

person Frank V    schedule 03.09.2009

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

В итоге мы очистили HTML-код. Фактически, мы собрали наш собственный специальный процессор веб-сервисов, в котором вместо SOAP для связи используется html. Затем мы выполняем GET, POST и т. Д. Для работы с веб-службой.

Мы сделали нечто подобное в VBScript для WebDAV - у нас был класс и мы создали новый для работы с SharePoint.

person Frank V    schedule 02.12.2010