https://github.com/PaulRosset/go-hacknews
📟 Tiny utility Go client for HackerNews API.
https://github.com/PaulRosset/go-hacknews
api golang hackernews hackernews-api sdk
Last synced: 29 days ago
JSON representation
📟 Tiny utility Go client for HackerNews API.
- Host: GitHub
- URL: https://github.com/PaulRosset/go-hacknews
- Owner: PaulRosset
- License: mit
- Created: 2017-08-10T20:44:02.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-08-15T07:51:32.000Z (over 7 years ago)
- Last Synced: 2024-12-31T04:02:41.588Z (3 months ago)
- Topics: api, golang, hackernews, hackernews-api, sdk
- Language: Go
- Homepage:
- Size: 24.4 KB
- Stars: 17
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go - go-hacknews - Tiny Go client for HackerNews API. (Third-party APIs / Utility/Miscellaneous)
- awesome-go - go-hacknews - Tiny utility Go client for HackerNews API. - ★ 7 (Third-party APIs)
- awesome-go-extra - go-hacknews - 08-10T20:44:02Z|2017-08-15T07:51:32Z| (Third-party APIs / Fail injection)
README
# go-hacknews
[](https://github.com/ellerbrock/open-source-badge/)
[](https://github.com/avelino/awesome-go)
[](https://travis-ci.org/PaulRosset/go-hacknews)
[](https://goreportcard.com/report/github.com/PaulRosset/go-hacknews)
[](https://cover.run/go/github.com/PaulRosset/go-hacknews)
[](http://godoc.org/github.com/PaulRosset/go-hacknews)
[](https://opensource.org/licenses/mit-license.php)Tiny utility Go client for HackerNews API.
[Official Hackernews API](https://github.com/HackerNews/API)
## Install
```
go get github.com/PaulRosset/go-hacknews
```## Usage
Few examples are available inside the **examples/** folder.
```go
package mainimport (
"fmt"
"github.com/PaulRosset/go-hacknews"
)func main() {
// Init struct with the kind of story you want
// (topstories/newstories/beststories/askstories/showstories/jobstories)
// and the number of posts that you want to fetch.
init := hacknews.Initializer{"topstories", 10}// Get the code of posts.
// Return a slice of int with the entry id if everything is ok or return an error.
codes, err := init.GetCodesStory()
if err != nil {
fmt.Println(err)
return
}// Get the posts thanks their id fetched above.
// Return a slice of Post type with a readable format in go or return an err if fail.
posts, err := init.GetPostStory(codes)
if err != nil {
fmt.Println(err)
return
}// Iterate over the slice to get what we want.
// Here, get Title and Url of post. But we can access all fields from the official hackernews api
// Note : Field are empty, if no data belong to them
for _, post := range posts {
fmt.Printf("Title : %v // Url : %v\n", post.Title ,post.Url)
}}
```
## Test
Tests are available :
```
$ go test
```## License
MIT