I´m working with the Discourse API.
The website I’m working on gets all the data from the Discourse API. I’m having the issue that because I’m actually not viewing the Topics and Notification, and only getting data through the api, then my topics and notification are not registered as viewed.
How should I solve this issue?
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 }
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)
2월 21, 2019, 6:37오후
6
You could start with following the code back to the controller. Everything you need to know about the method is there.
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)
2월 21, 2019, 7: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
This is what I got from the network tab
What is the the number beside the timings variable?
ryze1
11월 30, 2020, 1:28오후
11
에드윈 씨, 그 timings 변수가 뭔지 그리고 어떻게 설정하는지 알아내셨나요? 저도 같은 문제를 겪고 있어요.
에드윈 씨, 데이터를 가져오는 방법을 알아냈나요? timings와 topic_time은 어떻게 가져오나요? 아니면 어떻게 작동하게 만들었나요? 저도 같은 문제를 겪고 있습니다. 감사합니다!
manojm321
(Manoj Kumar Manikchand)
3월 4, 2023, 5:52오후
13
timings와 topic_time의 값이 각각 무엇을 의미하는지 설명해 주실 수 있나요? 해당 주제에 소요된 시간(초)을 의미하는 건가요?