Integrate to Yahoo Finance
This commit is contained in:
27
main.go
27
main.go
@@ -3,7 +3,7 @@ package main
|
|||||||
import (
|
import (
|
||||||
"bufio"
|
"bufio"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"fmt"
|
||||||
"flag"
|
"flag"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"log"
|
"log"
|
||||||
@@ -15,11 +15,21 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type Quote struct {
|
type Quote struct {
|
||||||
Data struct {
|
Spark struct {
|
||||||
Price string `json:"05. price"`
|
Result []struct {
|
||||||
} `json:"Global Quote"`
|
Response []struct {
|
||||||
|
Meta struct {
|
||||||
|
RegularMarketPrice float64 `json:regularMarketPrice`
|
||||||
|
Currency string `json:currency`
|
||||||
|
RegularMarketTime uint64 `json:regularMarketTime`
|
||||||
|
} `json:meta`
|
||||||
|
} `json:response`
|
||||||
|
} `json:result`
|
||||||
|
} `json:"spark"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const API = "https://query1.finance.yahoo.com/v7/finance/spark?symbols=%s&range=1m"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
apiToken := flag.String("a", "demo", "Alpha Vantage API Token")
|
apiToken := flag.String("a", "demo", "Alpha Vantage API Token")
|
||||||
ledgerBinary := flag.String("b", "ledger", "Ledger Binary")
|
ledgerBinary := flag.String("b", "ledger", "Ledger Binary")
|
||||||
@@ -58,7 +68,7 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetPriceString(ticker string, apiToken string) (string, error) {
|
func GetPriceString(ticker string, apiToken string) (string, error) {
|
||||||
resp, err := http.Get("https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=" + ticker + "&apikey=" + apiToken)
|
resp, err := http.Get(fmt.Sprintf(API, ticker))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
@@ -75,10 +85,9 @@ func GetPriceString(ticker string, apiToken string) (string, error) {
|
|||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
if f.Data.Price == "" {
|
log.Println(f)
|
||||||
return "", errors.New("Conversion Error")
|
|
||||||
}
|
return fmt.Sprintf("$%f", f.Spark.Result[0].Response[0].Meta.RegularMarketPrice), nil
|
||||||
return "$" + f.Data.Price, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetTimeString() string {
|
func GetTimeString() string {
|
||||||
|
|||||||
Reference in New Issue
Block a user