mirror of
https://github.com/kevin-DL/m3o-go.git
synced 2026-01-11 18:44:26 +00:00
55 lines
1.1 KiB
Go
Executable File
55 lines
1.1 KiB
Go
Executable File
package google
|
||
|
||
import (
|
||
"go.m3o.com/client"
|
||
)
|
||
|
||
type Google interface {
|
||
Search(*SearchRequest) (*SearchResponse, error)
|
||
}
|
||
|
||
func NewGoogleService(token string) *GoogleService {
|
||
return &GoogleService{
|
||
client: client.NewClient(&client.Options{
|
||
Token: token,
|
||
}),
|
||
}
|
||
}
|
||
|
||
type GoogleService struct {
|
||
client *client.Client
|
||
}
|
||
|
||
// Search for videos on Google
|
||
func (t *GoogleService) Search(request *SearchRequest) (*SearchResponse, error) {
|
||
|
||
rsp := &SearchResponse{}
|
||
return rsp, t.client.Call("google", "Search", request, rsp)
|
||
|
||
}
|
||
|
||
type SearchRequest struct {
|
||
// Query to search for
|
||
Query string `json:"query"`
|
||
}
|
||
|
||
type SearchResponse struct {
|
||
// List of results for the query
|
||
Results []SearchResult `json:"results"`
|
||
}
|
||
|
||
type SearchResult struct {
|
||
// abridged version of this search result’s URL, e.g. www.exampe.com
|
||
DisplayUrl string `json:"display_url"`
|
||
// id of the result
|
||
Id string `json:"id"`
|
||
// kind of result; "search"
|
||
Kind string `json:"kind"`
|
||
// the result snippet
|
||
Snippet string `json:"snippet"`
|
||
// title of the result
|
||
Title string `json:"title"`
|
||
// the full url for the result
|
||
Url string `json:"url"`
|
||
}
|