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: 9 months 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 8 years ago)
- Default Branch: master
- Last Pushed: 2017-08-15T07:51:32.000Z (over 8 years ago)
- Last Synced: 2024-12-31T04:02:41.588Z (11 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-cn - go-hacknews - hacknews) [![godoc][D]](https://godoc.org/github.com/PaulRosset/go-hacknews) (第三方api / 实用程序/Miscellaneous)
- awesome-go-plus - 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 - go-hacknews - Tiny Go client for HackerNews API. (Third-party APIs / Advanced Console UIs)
- fucking-awesome-go - go-hacknews - Tiny Go client for HackerNews API. (Third-party APIs / Utility/Miscellaneous)
- awesome-go - go-hacknews - | - | - | (Third-party APIs / HTTP Clients)
- awesome-go - go-hacknews - Tiny Go client for HackerNews API. (Third-party APIs / Utility/Miscellaneous)
- awesome-go-zh - go-hacknews
- awesome-go-cn - go-hacknews
- awesome-go - go-hacknews - Tiny Go client for HackerNews API. (Third-party APIs / Utility/Miscellaneous)
- awesome-go - go-hacknews - Tiny Go client for HackerNews API. - :arrow_down:0 - :star:4 (Third-party APIs / HTTP Clients)
- awesome-go-cn - go-hacknews - hacknews) [![godoc][D]](https://godoc.org/github.com/PaulRosset/go-hacknews) (第三方api / 实用程序/Miscellaneous)
- awesome-go - go-hacknews - Tiny Go client for HackerNews API. (Third-party APIs / HTTP Clients)
- awesome-go-cn - go-hacknews
- awesome-go-extra - go-hacknews - 08-10T20:44:02Z|2017-08-15T07:51:32Z| (Third-party APIs / Fail injection)
- awesome-go - go-hacknews - Tiny Go client for HackerNews API. (Third-party APIs / Utility/Miscellaneous)
- awesome-go - go-hacknews - Tiny Go client for HackerNews API. (<span id="第三方api-third-party-apis">第三方API Third-party APIs</span> / <span id="高级控制台用户界面-advanced-console-uis">高级控制台用户界面 Advanced Console UIs</span>)
- awesome-go-with-stars - go-hacknews - Tiny Go client for HackerNews API. (Third-party APIs / Utility/Miscellaneous)
- awesome-go - go-hacknews - Tiny Go client for HackerNews API. (Third-party APIs / Utility/Miscellaneous)
- awesome-go - go-hacknews - Tiny Go client for HackerNews API. (Third-party APIs / Utility/Miscellaneous)
- awesome-Char - go-hacknews - Tiny Go client for HackerNews API. (Third-party APIs / HTTP Clients)
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 main
import (
"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