Измененеия в api реактора. / dev :: api :: реактор

dev реактор api 

Измененеия в api реактора.

Вчера выкатили изменения, которые нарушают обратную совместимость. Поэтому если вы используете api, то возможно вам надо поменять свои GraphQL-запросы.

В реакторе с самого создания тэги назывались "blogs". Из-за этого возникала постоянная путаница - в одних местах использовали tag, в других - blog. Мы элиминировали эту неоднозначность и переименовали всё в tag.

Классы

Blog => Tag

FavoriteBlog => FavoriteTag

Favorite => FavoritePost

Поля

Внутри тега было два поля: "tag" и "name". Это тоже сложилось исторически и постоянно приводило к путанице. Теперь они переименованы:

name => seoName

tag => name

Остальное

Так же переименованы все остальные поля, запросы и мутации, в которых было слово "blog".

Я надеюсь это первое и последнее такое изменение, в будущем будем стараться поддерживать обратную совместимость.


Подробнее
dev,реактор,api
Еще на тему
Развернуть
Ничего не понял, но очень интересно
MDED MDED 21.09.202209:14 ответить ссылка 13.0
.jpg
У реактора есть API?… о_О
docs и schema не грузятся. Колесо загрузки бесконечно вращаются.
Я так понимаю там должна быть документация :(
Всё грузится. Проверь что у тебя url внутри страницы стоит https, он там http по-умолчанию, вроде.
https://api.joyreactor.ee/graphql
о
SCHEMA
DOWNLOAD
type Query {
#	Tags for tag autocomplete by query tagAutocomplete(mask: String!): [Tag!]!
#	Logged in user profile me: Profile
#	User by username user(username: String!): User
#	Tag by name tag(name: String!): Tag
#	Best 19 posts in the
koka koka 21.09.202210:33 ответить ссылка -0.1
Проверил - https стоит, адрес такой же. Пишет
Server cannot be reached
"message": "Internal server error"
поправил
koka koka 21.09.202219:17 ответить ссылка 0.1
У меня тоже не грузится)) но это не проблема, ее можно вытащить через
{__schema {
types {
name
kind
fields {
name
}}}}
Я приложение хотел сделать, в образовательных целях. С GraphQL ещё не работал и может я чего-то не догоняю, но я ее поковырял, и понял что можно вытащить любую node через id, и любые интересующие нас поля из неё. id, из примера что ты давал тоже можем найти для определенного объекта. Но доступа к posts или postPager не увидел, только топ за неделю/год и поиск. Можно как-то через него получить посты (новое/хорошее/лучшее)? Или только парсить основной сайт?
16:16 9
'©' 4G :,|| Q 53%
O -o api.joyreactor.cc/grap +	©
+	Graph/QL
T {
* "errors": [
T {
"message": "Max query depth should be 11 but got 13."
}
]
}
Variables Headers	\/
1

• ••
1*	query {
2-	tag(name: nuH){
3»	postPager(type:GOOD){
	posts(offset:0){
5	id
6	text
7	}
8	count
9	}
10	}
11	}
koka koka 07.02.202412:32 ответить ссылка 0.8
Блин, как все просто оказывается, спасибо добрый человек.
Спасибо за починку плэйграунда, сняло огромную кучу вопросов, вроде разобрался с авторизацией и т.п., структура более-менее яснее стала, с одной только вещью разобраться не могу.
Как и можно ли из attributes id (UG9zdEF0dHJpYnV0ZVBpY3R1cmU6ODMxNjQyNw==)
или из image id (SW1hZ2U6NTk0ODM1NDY=) получить адрес изображения или эмбеда?

Это делается из attribute id. Расшифровываешь его по base64, получаешь его ид. Получаешь картинку по адресу

https://img2.joyreactor.cc/pics/comment/picture-{attributeId}.jpeg

или

https://img2.joyreactor.cc/pics/post/picture-{attributeId}.jpeg

koka koka 11.02.202402:50 ответить ссылка 0.8
Спасибо, только ещё вопрос)) Например, с postman все работает прекрасно. Но у меня сейчас ноут в ремонте, так что я с https://zapp.run/ пытаюсь протестить код и на запрос получаю xmlhttprequest error, картинки тоже получить не получается (к слову на постман картинка грузится с вотермаркой джоя). Я правильно понял, что у вас просто CORS настроен так, что нифига не работает с левых доменов?))
да, требуется правильный (или пустой) домен.
koka koka 12.02.202414:47 ответить ссылка 0.8
Еще вопрос, вот вылез пост moo_roar, у него нет такого понятия как insertId, это баг или фича?

{
"data": {
"node": {
"id": "UG9zdDo1NzY2ODMw",
"attributes": [
{
"id": "UG9zdEF0dHJpYnV0ZVBpY3R1cmU6ODMzMTg3NQ==",
"insertId": null,
"type": "PICTURE"
}
],
"text": "

D Feb20th 11:22am

",
"commentsCount": 29,
"contentUpdatedAt": "2024-02-20T10:30:03+03:00",
"rating": 41.885,
"viewedCommentsCount": 15,
"user": {
"username": "moo_roar",
"id": "VXNlcjozNDYwMjg="
}
}
}
}
Покопался дальше, не только у него нет, видимо это необязательное поле, фиг с ним.

Что более важно, как получить WEBM и ссылку на embeded?

если insertId=null, то этот атрибут просто вставляется в конце.

webm - так же как и остальные картинки,

/pics/post/webm/video-{id}.webm

embed - каждый эмбед встраивается по-своему. Вот ютуб: просто передаётся номер видео в value. Иногда в value добавляется доп.свойства вроде ?t=10 (для обозначения начала видео)

1» query IdPostPageQuery {
2	▼ node(id: "UG9zdDolNzY2NzYzCg===H) {
3	__typename
4 ▼	... on Post {
5	id
6*	attributes	{
7»	... on PostAttributeEmbed {
8	type
9	value
10	}
11	}
12	}
13	}
14	}
{
* "data": {
▼ "node": {
"„typename": "Post”,
"id": "UG9zdDolNzY2NzYz",
-	"attributes":
koka koka 21.02.202400:25 ответить ссылка 0.7
Server cannot be reached :(
Вкладка docs и schema грузиться бесконечно долго. В консоли ошибки
Глянь пожалуйста
Error: {
"errors": [
{
“message": "Unauthenticated.", “extensions": {
"guards": [
"category": "authentication“
"locations": [
{
"line": 12,
"column": 5
>
].
■path“: [
"__schema",
"types"
]
>
1
at e.<anonymous> (SchemaFetcher.ts:144:15) at middleware.is:98:42066 at Object.next
угу, проверяю что за фигня...
В settings внутри плейграунда можешь поставить
"request.credentials": "same-origin"

и должно пускать. Но я поправлю и чтобы без этого пускало...
koka koka 21.09.202215:19 ответить ссылка 0.2
это поэтому KellyC у меня не работает последние сутки?
Заблокированный пост. Загружаю заблокированные данные...
Wanzerr Wanzerr 21.09.202209:49 ответить ссылка 0.5
Похоже на то... врубай browsec или иное значит пока.
Когда блокируешь пользователя, то не видишь не только его сообщения, но и всю ветку которая под его комментами, а там может быть срач на сотню сообщений, который можно пропустить. Собственно вопрос, можно ли сделать так, чтобы сообщения заблокированных юзеров были скрыты(например как заминусованный комментарий) а срач под ними был доступен. Я оказывается дохуя интересных срачей в политоте пропустил из-за этой фигни.
Denis511 Denis511 21.09.202210:31 ответить ссылка 3.1
а зачем пользователя блочить, они тебе в личку писали?
Teijo Teijo 21.09.202210:37 ответить ссылка -1.5
Некоторые пользователи слишком активные и видеть их высеры по десять раз на день в комментах не доставляет никакого удовольствия.
у кого-то слишком много свободного времени *звуки зависти*
Teijo Teijo 21.09.202211:24 ответить ссылка -0.9
Некоторые просто неадекватные и срут комментами слишком много
Поддержу, хотелось бы такую возможность.
Можно оставить блокировку, но добавить функцию "скрывать комменты этого пользователя"
Тогда будешь видеть, что неугодный тебе юзер, что-то написал, и ответы к его комментам, но что именно он написал - нет
Т.е. будет как щас скрытые из-за низкого рейтинга сообщения
> можно ли сделать так, чтобы сообщения заблокированных юзеров были....

можно, делай =)
koka koka 22.09.202200:55 ответить ссылка 0.9
У реактора было api???
Радиоволна, приди, порядок наведи.
soclear soclear 21.09.202213:04 ответить ссылка 0.2
плюс там где раньше была полная ссылка на медиа, теперь //img2.reactor.cc/pics/...
Wolh Wolh 21.09.202213:56 ответить ссылка 2.8
Подскажи, плиз, "Rate limit exceeded" по какому критерию работает? Какой потолок рейта, и распространяется ли он на клиента или на весь сервак?
corax4 corax4 30.09.202222:04 ответить ссылка 0.0
У каждого запроса считается вес. Он зависит от количества запросов к БД и кэшу. Считается по ip. Лимиты достаточно большие чтобы простые пользователи не попадали. Сбрасывается раз в 5-10 минут, вроде.
koka koka 30.09.202223:50 ответить ссылка 0.0
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
ET SP№r{J.
п*Ы1Т1^0С0РАТ*£ QUAEPlTI^,rT0 COPICEM
в»?
\\( И как тебе удается (находить эти недоку I ументированные АР1
За это мне и платят ^большие деньги..
CommitStrip.com
подробнее»

commitstrip Смешные комиксы,веб-комиксы с юмором и их переводы профессиональный юмор api

ET SP№r{J. п*Ы1Т1^0С0РАТ*£ QUAEPlTI^,rT0 COPICEM в»? \\( И как тебе удается (находить эти недоку I ументированные АР1 За это мне и платят ^большие деньги.. CommitStrip.com