Я хочу получить контент из моего Atlassian с именем пользователя и паролем.
URL-адрес обычно выглядит так:
http://my-own-site.atlassian.net/wiki/pages/viewpage.action?spaceKey=TO&title=Any-Wiki-Title
Можно ли использовать PHP CURL для извлечения контента с этой страницы?
Пока я получаю ошибку 401 auth reqd.
Я просмотрел Stackoverflow, и все, что я получаю, - это доступ к базовым страницам atlassian.com и bitbucket.org.
С помощью этого кода в php вы можете создавать страницы слияния:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost:8090/rest/api/content/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "{\"type\":\"page\",\"title\":\"**inserttitle**\",\"space\":{\"key\":\"**insertspace**\"},\"ancestors\":[{\"type\":\"page\",\"id\":**insertancestor**}],\"body\":{\"storage\":{\"value\":\"<p>This is a new page</p>\",\"representation\":\"storage\"}}}");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_USERPWD, "**insertusername**" . ":" . "**insertpassword**");
$headers = array();
$headers[] = "Content-Type: application/json";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close ($ch);
?>
И с помощью этого кода вы можете получать контент из Confluence:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost:8090/rest/api/content/**insertid**");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_USERPWD, "**insertusername**" . ":" . "**insertpassword**");
$headers = array();
$headers[] = "Content-Type: application/json";
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close ($ch);
?>
echo $result;
Измените параметр. Я отметил слова вставкой *
Да, конечно, можно получить доступ к продуктам Atlassian, используя PHP и cURL. Я делаю это все время, чтобы создавать/изменять проблемы с Jira
Вам нужно будет найти/написать библиотеку (или набор библиотек), которая позволит вам получить доступ к вызовам API REST. В моем случае я написал базовую библиотеку REST, которая затем может быть унаследована для создания Jira, Confluence, любых других REST-сервисов
Найдите сайт Atlassian для документации, чтобы найти API REST для продукта, который вы используете (Confluence в вашем случае, я бы предположил)
Не забывайте, что API REST использует методы GET, POST, PUT и DELETE, поэтому вашей библиотеке необходимо будет обрабатывать все эти
Что касается вашей ошибки, я * думаю * ваш логин должен быть разрешен для доступа к вызовам API
localhost:port
именем сервера / IP-адресом и портом, через который осуществляется доступ к вашей установке Atlassian.