SoapClient + PHP + Sharepoint + Получение изображений из списка ИЛИ GetItemsByIds - PullRequest
2 голосов
/ 26 октября 2011

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

Во-первых, если есть способ обойтиэто, это будет достаточный ответ, потому что это мой идеальный способ сделать это.

Однако, если лучший способ состоит в том, чтобы создать галерею изображений, а затем вытащить фотографии оттуда, то это не проблема.

По сути, мне нужно знать, как использовать библиотеку изображений и, возможно, метод GetItemsByIds?Я очень новичок в мыле и sharepoint в целом, поэтому я прошу прощения за то, что может быть тривиальными вопросами, но мне действительно нужно знать, как это сделать, и я не могу найти в Интернете ни одного ресурса, который объясняет, что мне нужно знать (если есть один, связать это!).Помните, я должен сделать это на PHP.

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

<code><?php
  $authParams = array(

  'login' => 'username',
  'password' => 'pass'
);

$listName = "{GUID}";
$rowLimit = '500';
$wsdl = "list.wsdl";
$soapClient = new SoapClient($wsdl, $authParams);

$params = array(
  'listName' => $listName,
  'rowLimit' => $rowLimit;
);

echo file_get_contents($wsdl, FILE_TEXT, stream_context_create(array('http' => array('timeout' => 1))), 0, 1);

$rawXMLresponse = null;
try{
    $rawXMLresponse = $soapClient->GetListItems($params)->GetListItemsResult->any;
}
catch(SoapFault $fault){
    echo 'Fault code: '.$fault->faultcode;
    echo 'Fault string: '.$fault->faultstring;
}
echo '<pre>' . $rawXMLresponse . '
';$ dom = новый DOMDocument ();$ Dom-> loadXML ($ rawXMLresponse);$ results = $ dom-> getElementsByTagNameNS ("# RowsetSchema", "*");?> // делаем полезную вещь

1 Ответ

0 голосов
/ 23 января 2012

Это была проблема с разрешениями пользователя. Когда у нас был аккаунт с правильными разрешениями, он работал нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...