From 76c46f0a0d921a382ff3ddd7656c565fce7f68ca Mon Sep 17 00:00:00 2001 From: long Date: Sun, 15 Feb 2026 21:40:10 -0600 Subject: [PATCH] fixed Get on post service --- examples/client-on-request-completed/main.go | 20 +++++++++++++++----- reddit/post.go | 4 ++-- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/examples/client-on-request-completed/main.go b/examples/client-on-request-completed/main.go index 5f6a231..148d074 100644 --- a/examples/client-on-request-completed/main.go +++ b/examples/client-on-request-completed/main.go @@ -2,6 +2,7 @@ package main import ( "context" + "encoding/json" "fmt" "log" "net/http" @@ -25,11 +26,20 @@ func run() (err error) { client.OnRequestCompleted(logResponse) - client.Subreddit.Search(ctx, "programming", nil) - client.Subreddit.SearchNames(ctx, "monitor") - client.Subreddit.SearchPosts(ctx, "react", "webdev", nil) - client.Subreddit.HotPosts(ctx, "golang", &reddit.ListOptions{Limit: 5}) - + posts, _, err := client.Subreddit.HotPosts(ctx, "golang", &reddit.ListOptions{Limit: 5}) + if err != nil { + log.Fatal("Could not get hot posts:", err) + } + if len(posts) == 0 { + log.Fatal("No posts") + } + details, resp, err := client.Post.Get(ctx, posts[0].ID, posts[0].SubredditName) + if err != nil { + log.Fatal("Could not get post details: Status code ", resp.Status) + } + b, _ := json.MarshalIndent(details, "", " ") + log.Println("Got post details") + log.Println(string(b)) return } diff --git a/reddit/post.go b/reddit/post.go index ef55224..26e485a 100644 --- a/reddit/post.go +++ b/reddit/post.go @@ -65,8 +65,8 @@ type SubmitLinkRequest struct { // Get a post with its comments. // id is the ID36 of the post, not its full id. // Example: instead of t3_abc123, use abc123. -func (s *PostService) Get(ctx context.Context, id string) (*PostAndComments, *Response, error) { - path := fmt.Sprintf("comments/%s", id) +func (s *PostService) Get(ctx context.Context, id, subreddit string) (*PostAndComments, *Response, error) { + path := fmt.Sprintf("r/%s/comments/%s/", subreddit, id) req, err := s.client.NewRequest(http.MethodGet, path, nil) if err != nil { return nil, nil, err