Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: about 2 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 7 years ago)
- Default Branch: master
- Last Pushed: 2017-08-15T07:51:32.000Z (over 7 years ago)
- Last Synced: 2024-07-31T20:53:18.582Z (5 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
[![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badge/)
[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/avelino/awesome-go)
[![Travis](https://img.shields.io/travis/rust-lang/rust.svg)](https://travis-ci.org/PaulRosset/go-hacknews)
[![Go Report Card](https://goreportcard.com/badge/github.com/PaulRosset/go-hacknews)](https://goreportcard.com/report/github.com/PaulRosset/go-hacknews)
[![](https://cover.run/go/github.com/PaulRosset/go-hacknews.svg)](https://cover.run/go/github.com/PaulRosset/go-hacknews)
[![](http://godoc.org/github.com/PaulRosset/go-hacknews?status.svg)](http://godoc.org/github.com/PaulRosset/go-hacknews)
[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](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