Estou trabalhando com a API do Discourse.
O site em que estou trabalhando obtém todos os dados da API do Discourse. Estou enfrentando um problema: como não estou visualizando os tópicos e as notificações, e apenas obtendo os dados por meio da API, meus tópicos e notificações não são registrados como visualizados.
Como devo resolver esse problema?
joebuhlig
(Joe Buhlig)
Fevereiro 21, 2019, 3:36pm
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 curtidas
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)
Fevereiro 21, 2019, 6:37pm
6
4 curtidas
joebuhlig
(Joe Buhlig)
Fevereiro 21, 2019, 6:42pm
7
You could start with following the code back to the controller. Everything you need to know about the method is there.
1 curtida
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)
Fevereiro 21, 2019, 7:01pm
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 curtidas
This is what I got from the network tab
What is the the number beside the timings variable?
ryze1
Novembro 30, 2020, 1:28pm
11
Oi Edwin, você descobriu o que é essa variável de timings e como configurá-la? Estou com o mesmo problema.
Oi Edwin, você descobriu como obter os dados? tempos e topic_time? ou como fazer funcionar? Eu tenho o mesmo problema. Obrigado!
manojm321
(Manoj Kumar Manikchand)
Março 4, 2023, 5:52pm
13
Alguém pode me explicar qual o valor de timings e topic_time? São segundos gastos no tópico?