Estoy trabajando con la API de Discourse.
El sitio web en el que estoy trabajando obtiene todos los datos desde la API de Discourse. Tengo el problema de que, como en realidad no estoy viendo los temas y las notificaciones, sino solo obteniendo los datos a través de la API, entonces mis temas y notificaciones no se registran como vistos.
¿Cómo debería solucionar este problema?
joebuhlig
(Joe Buhlig)
21 Febrero, 2019 15:36
2
If I’m following, you need to make an API call to this endpoint:
put "t/:id" => "topics#update"
delete "t/:id" => "topics#destroy"
put "t/:id/archive-message" => "topics#archive_message"
put "t/:id/move-to-inbox" => "topics#move_to_inbox"
put "t/:id/convert-topic/:type" => "topics#convert_topic"
put "t/:id/publish" => "topics#publish"
put "t/:id/shared-draft" => "topics#update_shared_draft"
put "t/:id/reset-bump-date" => "topics#reset_bump_date"
put "topics/bulk"
put "topics/reset-new" => 'topics#reset_new'
post "topics/timings"
get 'topics/similar_to' => 'similar_topics#index'
resources :similar_topics
get "topics/feature_stats"
scope "/topics", username: RouteFormat.username do
get "created-by/:username" => "list#topics_by", as: "topics_by", constraints: { format: /(json|html)/ }, defaults: { format: :json }
get "private-messages/:username" => "list#private_messages", as: "topics_private_messages", constraints: { format: /(json|html)/ }, defaults: { format: :json }
get "private-messages-sent/:username" => "list#private_messages_sent", as: "topics_private_messages_sent", constraints: { format: /(json|html)/ }, defaults: { format: :json }
3 Me gusta
Thanks for the reply.
How would this post request help me?
It will mark the posts as “viewed”, which is what you wrote in the first post.
joebuhlig:
topics/timings
How should the api request look like ?
something like this?
{{base_url}}/t/timings/topic_Id.json?
Falco
(Falco)
21 Febrero, 2019 18:37
6
4 Me gusta
joebuhlig
(Joe Buhlig)
21 Febrero, 2019 18:42
7
You could start with following the code back to the controller. Everything you need to know about the method is there.
1 me gusta
I already tried do the reverse engineering.
The only response i get from the network tab is
{{baseurl}} + /t/3295.json?track_visit=true&forceLoad=true&_=1550774445459
Falco
(Falco)
21 Febrero, 2019 19:01
9
You gotta read it carefully.
Right clicking a request to timings and selecting copy a cURL will give you all you need for a request using the cURL syntax (the standard format for most people):
curl 'https://meta.discourse.org/topics/timings' \
-H 'Accept: */*' \
-H 'Accept-Language: en-US,en;q=0.5' \
-H 'X-CSRF-Token: LONGTOKENHERE' \
-H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' \
-H 'X-SILENCE-LOGGER: true' \
-H 'Discourse-Logged-In: true' \
-H 'Discourse-Visible: true' \
-H 'X-Requested-With: XMLHttpRequest' \
--data 'timings%5B3%5D=1019&timings%5B4%5D=1019&topic_time=1019&topic_id=108685' \
--compressed
6 Me gusta
This is what I got from the network tab
What is the the number beside the timings variable?
ryze1
30 Noviembre, 2020 13:28
11
Hola Edwin, ¿ya descubriste qué es esa variable timings y cómo configurarla? Tengo el mismo problema.
Hola Edwin, ¿descubriste cómo obtener los datos? ¿los tiempos y el tiempo_tema? ¿o cómo hacerlo funcionar? Tengo el mismo problema. ¡Gracias!
manojm321
(Manoj Kumar Manikchand)
4 Marzo, 2023 17:52
13
¿Alguien puede explicar qué significan los valores de timings y topic_time? ¿Son segundos dedicados al tema?