Иконка ресурса

XenAPI - XenForo PHP REST API 1.4.2

Нет прав для скачивания

Hope

Premium
Сообщения
48,306
Решения
22
Реакции
71,861
Баллы
40,905
Пользователь Hope разместил новый ресурс:

XenAPI - XenForo REST API - Плагин создаёт интерфейс между XenForo и внешними программными продуктами для взаимосвязи...

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

Как пример: интерфейс позволяет регистрировать и авторизовать на форуме пользователей и получать по ним все данные. Нужен к примеру когда есть своей проект с зарегистрированными уже пользователями и прикрученной к проекту Ксеней. Данный плагин позволит автологинить на Форум пользователя при переходе на форум если он уже залогонен в проекте.

Все запрос идут...

Узнать больше об этом ресурсе...
 
Как его устанавливать, подскажете?
 
Мне нужно его установить, но я не знаю как, инструкция которая идёт с ним - запутывает ещё больше.
Писать ничего не умею, но пишет человек софт на заказ, в котором авторизация будет через мой форум, поэтому мне необходима помощь в установке, подскажите?
 
Последнее редактирование:
Мне нужно его установить, но я не знаю как, инструкция которая идёт с ним - запутывает ещё больше.
Писать ничего не умею, но пишет человек софт на заказ, в котором авторизация будет через мой форум, поэтому мне необходима помощь в установке, подскажите?
Я когда калякал парсер так и не нашёл хорошего апи для ксюни, в итоге 1 запрос авторизации 2 запрос создания темы =) Моё мнение этого хватает.
 
water-lord, ну вроде всё просто же.
1) настраиваем URL и ключ авторизации для XenAPI.
2) отправляем нужные запросы.

По поводу авторизации всё просто:
Отправляется запрос авторизации. В ответ получаем уникальный ключ для пользователя. Далее используем этот ключ для всех последующих запросов.
Этот ключ можно как-нибудь зашифровать и сохранить в куках. Таким образом можно реализовать функциональность "запоминания" авторизации пользователя на сайте.

Я реализовывал на одном из своих проектов авторизацию через XenAPI - всё работает изумительно.
 
water-lord, ну вроде всё просто же.
1) настраиваем URL и ключ авторизации для XenAPI.
2) отправляем нужные запросы.

По поводу авторизации всё просто:
Отправляется запрос авторизации. В ответ получаем уникальный ключ для пользователя. Далее используем этот ключ для всех последующих запросов.
Этот ключ можно как-нибудь зашифровать и сохранить в куках. Таким образом можно реализовать функциональность "запоминания" авторизации пользователя на сайте.

Я реализовывал на одном из своих проектов авторизацию через XenAPI - всё работает изумительно.
Благодарю за ответ, но это не то, что мне надо. Человек, который пишет программу знает, как работать с API, моя задача лишь установить плагин и предоставить ему URL + API KEY. Я без малейшего понятия, как это сделать.
Есть описание установки плагина, но я застрял уже на 6 пункте, так как не нашел директории "/plugins/dap_xenapi/".
Follow each step carefully as they are all crucial for the installation.

1. Download XenAPI for Xenforo from the GitHub repository, found here:

2. Open the downloaded ZIP archive.
3. Upload `/XenAPI-master/net/xenapi/XenAPI/api.php` to the root directory of your XenForo installation.
4. Generate a hash by using an online service, like
5. Set an API key for XenAPI, this can be done by editing the `api.php` file and replacing the `API_KEY` string with
the hash generated in step 4.
6. Upload `/XenAPI-master/net/xenapi/XenAPI/examples/dap/plugins/dap_xenapi/dap_xenapi.class.php` to
`/plugins/dap_xenapi/` of your DAP installation.
7. If you are NOT using the group parameter, you can skip this step and continue from step 8.
a. Login to your XenForo Admin panel and go to user groups, `Users -> User Groups -> List User Groups`.
b. Find the group you wish the user to be assigned to when they register.
c. Note the ID of the group, we'll use it later, `admin.php?user-groups/example-group.6/edit`, 6 is the group ID.
8. If you are NOT using a custom field identifier you can skip this step and continue from step 9.
a. Login to your XenForo Admin panel and go to custom user fields,
`Users -> User Customization -> Custom User Fields`.
b. Press `+ Create New Field` in the upper right hand corner.
c. Set a custom field title, set display location to `Preferences` and set the custom field ID.
Note the ID of the group for the next step, an example of a group ID would be 'unique_user'.
9. We now need to create the string that is going to be sent to DAP XenForo Plugin.
Here's the the string that is sent to DAP XenForo Plugin:
`dap_xenapi:API_KEY:PROTOCOL:API_LOCATION:GROUP_ID:CUSTOM_FIELD_IDENTIFIER`

a. `API_KEY` should be replaced with the hash you generated in step 4 and used in step 5.
Example API_KEY: a5b2b1f2mc1mas2f3
b. `PROTOCOL` should be replaced with which protocol you wish to use, current options are only `http` and `https`.
Please note that if you use `http`, the password of the user will be sent over a unecrypted protocol.
Example PROTOCOL: https
c. `API_LOCATION` should be replaced with the location of XenAPI's file, `api.php`, which you should now have in the
root directory of your XenForo installation. Make sure you do NOT include the `http` of the URL.
Example API_LOCATION: example.com/forum/api.php
d. `GROUP_ID` should be replaced with the group ID you wish the user to be assigned to, this is the group ID you
found in step 7. If you wish not to assign the user to a group, you can remove this parameter or set it to `0`.
Example GROUP_ID: 6
Example GRPOU_ID: 0
e. `CUSTOM_FIELD_IDENTIFIER` should be replaced with the field ID you created in step 8. If do not wish to use the
custom field identifier, remove this field.
Example CUSTOM_FIELD_IDENTIFIER: unique_user.

Examples:
a. Just register the user with the XenForo installation: `dap_xenapi:a5b2b1f2mc1mas2f3:https:example.com/forum/api.php`.
b. Register the user AND assign the user to a specific group: `dap_xenapi:a5b2b1f2mc1mas2f3:https:example.com/forum/api.php:6`.
c. Register the user AND assign the user to a specific group AND use a custom field identifier: `dap_xenapi:a5b2b1f2mc1mas2f3:https:example.com/forum/api.php:6:unique_user`.
d. Register the user AND set a custom field identifier: `dap_xenapi:a5b2b1f2mc1mas2f3:https:example.com/forum/api.php:0:unique_user`.

It is recommended to use example c.
10. Open your DAP installation administration and go into product management (Products/Levels -> Manage).
11. Find the product you wish to integrate XenForo with, click on the `Notifications` tab.
12. Add the string you created in step 9 to the `Plugin Notification upon User "Add"`
and `Plugin Notification upon User "Add"` fields.
 
water-lord, а dap_xenapi вам и не надо. Смотрите пример в папке php - это то, что необходимо.
Если кратко:
  1. файл api.php кидаете в папку с форумом. При этом в файле api.php указываете свой ключ (его можно сгенерировать , к примеру). Ключ надо указать заместо строки REPLACE_THIS_WITH_AN_API_KEY. Например: $restAPI = new RestAPI('27f3a0cdd3c475eaff43b4219ec6d0b3');
  2. Из папки examples/php берете примеры для реализации обращения к API форума. xen_api.php - это пример класса для обращения к API. example.php - это пример использования этого класса для обращения к API.
  3. Расширяете класс в xen_api.php теми методами, которые вам потребуются. А то в нём далеко не всё есть, что умеет API.
 
залогонен в проекте. - наверное залогинен
 
Здрайствуйте, пожалуйста подскажите как мне
При запросе
api.php?action=getResources&hash=API_KEY
Получить количиство скачиваний на 1-ом ресурсе?
Если к примеру выдает:
{
"total": 2,
"resources": [
{
"id": 2,
"title": "ExampleResource",
"author_id": 1,
"author_username": "Contex",
"state": "visible",
"creation_date": 1364352654,
"category_id": 3,
"version_id": 2,
"version_string": "1.2.3",
"file_hash": "6e2702efb9d7b34a48024939f015b5f6",
"description_id": 2,
"thread_id": 4601,
"external_url": "",
"price": "0.00",
"currency": "",
"times_downloaded": 804,
"times_rated": 1,
"rating_sum": 5,
"rating_avg": 5,
"rating_weighted": 3.1818182468414,
"times_updated": 0,
"times_reviewed": 1,
"last_update": 1364352654
},
{
"id": 5,
"title": "ExampleResource2",
"author_id": 2,
"author_username": "ExampleUser",
"state": "visible",
"creation_date": 1364359662,
"category_id": 2,
"version_id": 5,
"version_string": "1.5.3",
"file_hash": "6e2702efb9d7b34a48024939f015b5f6",
"description_id": 5,
"thread_id": 2449,
"external_url": "",
"price": "0.00",
"currency": "",
"times_downloaded": 54,
"times_rated": 4,
"rating_sum": 20,
"rating_avg": 5,
"rating_weighted": 3.5714285373688,
"times_updated": 0,
"times_reviewed": 3,
"last_update": 1364359662
}
]
}


В виде кода php
Пробывал уже:


$json = file_get_contents('/api.php?action=getResources&hash');
$obj = json_decode($json);
echo $obj->resources-times_downloaded;

Но выдает пустую страницу
 
Здрайствуйте, пожалуйста подскажите как мне
При запросе
api.php?action=getResources&hash=API_KEY
Получить количиство скачиваний на 1-ом ресурсе?
Если к примеру выдает:
{
"total": 2,
"resources": [
{
"id": 2,
"title": "ExampleResource",
"author_id": 1,
"author_username": "Contex",
"state": "visible",
"creation_date": 1364352654,
"category_id": 3,
"version_id": 2,
"version_string": "1.2.3",
"file_hash": "6e2702efb9d7b34a48024939f015b5f6",
"description_id": 2,
"thread_id": 4601,
"external_url": "",
"price": "0.00",
"currency": "",
"times_downloaded": 804,
"times_rated": 1,
"rating_sum": 5,
"rating_avg": 5,
"rating_weighted": 3.1818182468414,
"times_updated": 0,
"times_reviewed": 1,
"last_update": 1364352654
},
{
"id": 5,
"title": "ExampleResource2",
"author_id": 2,
"author_username": "ExampleUser",
"state": "visible",
"creation_date": 1364359662,
"category_id": 2,
"version_id": 5,
"version_string": "1.5.3",
"file_hash": "6e2702efb9d7b34a48024939f015b5f6",
"description_id": 5,
"thread_id": 2449,
"external_url": "",
"price": "0.00",
"currency": "",
"times_downloaded": 54,
"times_rated": 4,
"rating_sum": 20,
"rating_avg": 5,
"rating_weighted": 3.5714285373688,
"times_updated": 0,
"times_reviewed": 3,
"last_update": 1364359662
}
]
}


В виде кода php
Пробывал уже:


$json = file_get_contents('/api.php?action=getResources&hash');
$obj = json_decode($json);
echo $obj->resources-times_downloaded;

Но выдает пустую страницу

$json = file_get_contents('/api.php?action=getResources&hash'); //надеюсь ответ вы чекали

$obj = json_decode($json); //or $obj = json_decode($json, true);

echo $obj["resources"][0]["times_downloaded"];
 
Авторизацыя не работает!

Пишет: An exception occurred: No entry is registered for key 'session' in

Авторизацыя не работает!

Пишет: An exception occurred: No entry is registered for key 'session' in
Чтоделать если сесию не регистрирует?
 
для версии 1.5.12 нету?

Уже все перепробывал постоянно пишит
Код:
{"error":17,"message":"The API key has not been changed, make sure you use another API key before using this API"}
 
Последнее редактирование модератором:
На 1.5.12 не работает.
Какая версия была последняя поддерживаемая, и смогу ли безопасно откатиться на неё?
Бекапов, конечно, нет
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу