docomo

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 7, 2015 License: MIT Imports: 12 Imported by: 6

Documentation

Index

Constants

View Source
const (
	// TrendGenreURL docomoAPIのトレンドAPIのジャンル情報の取得
	TrendGenreURL = "/webCuration/v3/genre"
	// TrendContentsURL docomoAPIのトレンドAPIの記事取得 docs: https://dev.smt.docomo.ne.jp/?p=docs.api.page&api_docs_id=24#tag01
	TrendContentsURL = "/webCuration/v3/contents"
	// TrendSearchURL docomoAPIのトレンドAPIのキーワード検索 docs: https://dev.smt.docomo.ne.jp/?p=docs.api.page&api_docs_id=25#tag01
	TrendSearchURL = "/webCuration/v3/search"
	// TrendRelatedURL docomoAPIのトレンドAPIの関連記事取得 docs: https://dev.smt.docomo.ne.jp/?p=docs.api.page&api_docs_id=109#tag01
	TrendRelatedURL = "/webCuration/v3/relatedContents"
)
View Source
const (
	// DialogueURL docomoAPIの雑談APIのmethod
	DialogueURL = "/dialogue/v1/dialogue"
)
View Source
const (
	// DomainURL DocomoAPIのhost
	DomainURL = "https://api.apigw.smt.docomo.ne.jp"
)
View Source
const (
	// KnowledgeQAURL docomoAPIの知識Q&Aのmethod
	KnowledgeQAURL = "/knowledgeQA/v1/ask"
)

Variables

This section is empty.

Functions

func NewContext

func NewContext(ctx context.Context, apiKey string) context.Context

Types

type Client

type Client struct {
	Trend       *TrendService
	KnowledgeQA *KnowledgeQAService
	Dialogue    *DialogueService
	// contains filtered or unexported fields
}

Client DocomoAPIへのpostやgetを行うクライアント

func FromContext

func FromContext(ctx context.Context) *Client

func NewClient

func NewClient(apiKey string) *Client

NewClient docomo APIのClientを生成する

func Stub

func Stub(filename string, outRes interface{}) (*httptest.Server, *Client)

Stub test用のスタブ

type DialogueRequest

type DialogueRequest struct {
	Utt            *string `json:"utt"`
	Context        *string `json:"context"`
	Nickname       *string `json:"nickname"`
	NicknameYomi   *string `json:"nickname_y"`
	Sex            *string `json:"sex"`
	Bloodtype      *string `json:"bloodtype"`
	BirthdateY     *int    `json:"birthdateY"`
	BirthdateM     *int    `json:"birthdateM"`
	BirthdateD     *int    `json:"birthdateD"`
	Age            *int    `json:"age"`
	Constellations *string `json:"constellations"`
	Place          *string `json:"place"`
	Mode           *string `json:"mode"`
	CharactorID    *int    `json:"t"`
}

DialogueRequest 雑談APIのリクエスト Mode dialog or srtr CharactorID なし:デフォルト 20:関西弁 30:あかちゃん

type DialogueResponse

type DialogueResponse struct {
	Context string `json:"context"`
	Da      string `json:"da"`
	Mode    string `json:"mode"`
	Utt     string `json:"utt"`
	Yomi    string `json:"yomi"`
	// error時
	RequestError struct {
		PolicyException struct {
			MessageID string `json:"messageId"`
			Text      string `json:"text"`
		} `json:"policyException"`
	} `json:"requestError"`
}

DialogueResponse 雑談APIのレスポンス

type DialogueService

type DialogueService struct {
	// contains filtered or unexported fields
}

DialogueService API docs: https://dev.smt.docomo.ne.jp/?p=docs.api.page&api_docs_id=5

func (*DialogueService) Get

func (d *DialogueService) Get(req DialogueRequest, refreshContext bool) (*DialogueResponse, error)

Get 雑談APIを呼び出して結果を取得する. refreshContextがtrueの場合、DocomoClientのContextを更新する

func (*DialogueService) SetContext

func (d *DialogueService) SetContext(context string)

SetContext setter DocomoClient context.

func (*DialogueService) WithContext

func (d *DialogueService) WithContext(ctx context.Context) *DialogueService

type Genre

type Genre struct {
	Description string `json:"description"`
	GenreID     int    `json:"genreId"`
	Title       string `json:"title"`
}

Genre ジャンル情報

type KnowledgeQARequest

type KnowledgeQARequest struct {
	QAText string `json:"q"`
}

KnowledgeQARequest 知識Q&Aのリクエスト

type KnowledgeQAResponse

type KnowledgeQAResponse struct {
	Code    ResponseCode `json:"code"`
	Answers []struct {
		AnswerText string `json:"answerText"`
		LinkText   string `json:"linkText"`
		LinkURL    string `json:"linkUrl"`
		Rank       string `json:"rank"`
	} `json:"answers"`
	Message struct {
		TextForDisplay string `json:"textForDisplay"`
		TextForSpeech  string `json:"textForSpeech"`
	} `json:"message"`
}

KnowledgeQAResponse 知識Q&Aのレスポンス

func (KnowledgeQAResponse) Success

func (q KnowledgeQAResponse) Success() bool

Success 質問成功

type KnowledgeQAService

type KnowledgeQAService struct {
	// contains filtered or unexported fields
}

KnowledgeQAService API docs: https://dev.smt.docomo.ne.jp/?p=docs.api.page&api_docs_id=6

func (*KnowledgeQAService) Get

Get docomoAPIを呼び出して結果を返す

func (*KnowledgeQAService) WithContext

type ResponseCode

type ResponseCode string

ResponseCode 知識Q&Aのレスポンスコード

const (
	// OkResponseCode 質問結果あり
	OkResponseCode ResponseCode = "S020000"
	// NoResponseCode 質問結果なし
	NoResponseCode ResponseCode = "S020011"
)

type TrendContentsRequest

type TrendContentsRequest struct {
	// 必須
	GenreID *int `json:"genreId"`
	// ja: 日本語(default)、en: 英語
	Lang *string `json:"lang"`
	// 記事一覧の開始番号を指定(1以上999999以下の整数)。デフォルトは1
	StartNo *int `json:"s"`
	// カテゴリ内の記事一覧の取得件数を指定(0以上50以下の整数)。デフォルトは1
	Num *int `json:"n"`
}

TrendContentsRequest 記事取得リクエスト

type TrendContentsResponse

type TrendContentsResponse struct {
	ArticleContents []struct {
		ContentData struct {
			Body        string `json:"body"`
			CreatedDate string `json:"createdDate"`
			ImageSize   struct {
				Height float64 `json:"height"`
				Width  float64 `json:"width"`
			} `json:"imageSize"`
			ImageURL     string `json:"imageUrl"`
			LinkURL      string `json:"linkUrl"`
			SourceDomain string `json:"sourceDomain"`
			SourceName   string `json:"sourceName"`
			Title        string `json:"title"`
		} `json:"contentData"`
		ContentID   float64 `json:"contentId"`
		ContentType float64 `json:"contentType"`
		GenreID     float64 `json:"genreId"`
	} `json:"articleContents"`
	IssueDate    string  `json:"issueDate"`
	ItemsPerPage float64 `json:"itemsPerPage"`
	StartIndex   float64 `json:"startIndex"`
	TotalResults float64 `json:"totalResults"`
}

TrendContentsResponse 記事取得レスポンス

type TrendGenreRequest

type TrendGenreRequest struct {
	// ja: 日本語(default)、en: 英語
	Lang *string `json:"lang"`
}

TrendGenreRequest ジャンル情報取得のリクエスト

type TrendGenreResponse

type TrendGenreResponse struct {
	Genre []Genre `json:"genre"`
}

TrendGenreResponse ジャンル情報取得のレスポンス

type TrendRelatedRequest

type TrendRelatedRequest struct {
	// 関連記事を取得する記事ID 必須
	ContentID *int `json:"contentId"`
}

TrendRelatedRequest 関連記事取得リクエスト

type TrendRelatedResponse

type TrendRelatedResponse struct {
	ArticleContents []struct {
		ContentData struct {
			Body        string `json:"body"`
			CreatedDate string `json:"createdDate"`
			ImageSize   struct {
				Height int `json:"height"`
				Width  int `json:"width"`
			} `json:"imageSize"`
			ImageURL     string `json:"imageUrl"`
			LinkURL      string `json:"linkUrl"`
			SourceDomain string `json:"sourceDomain"`
			SourceName   string `json:"sourceName"`
			Title        string `json:"title"`
		} `json:"contentData"`
		ContentID       int    `json:"contentId"`
		ContentType     int    `json:"contentType"`
		GenreID         int    `json:"genreId"`
		RelatedContents string `json:"relatedContents"`
	} `json:"articleContents"`
	TotalResults int `json:"totalResults"`
}

TrendRelatedResponse 関連記事取得レスポンス

type TrendSearchRequest

type TrendSearchRequest struct {
	// ジャンルID
	GenreID *int `json:"genreId"`
	// キーワード(UTF-8)
	Keyword *string `json:"keyword"`
	// ja: 日本語(default)、en: 英語
	Lang *string `json:"lang"`
	// 記事一覧の開始番号を指定(1以上999999以下の整数)。デフォルトは1
	StartNo *int `json:"s"`
	// カテゴリ内の記事一覧の取得件数を指定(0以上50以下の整数)。デフォルトは1
	Num *int `json:"n"`
}

TrendSearchRequest キーワード検索リクエスト

type TrendSearchResponse

type TrendSearchResponse struct {
	ArticleContents []struct {
		ContentData struct {
			Body        string `json:"body"`
			CreatedDate string `json:"createdDate"`
			ImageSize   struct {
				Height int `json:"height"`
				Width  int `json:"width"`
			} `json:"imageSize"`
			ImageURL     string `json:"imageUrl"`
			LinkURL      string `json:"linkUrl"`
			SourceDomain string `json:"sourceDomain"`
			SourceName   string `json:"sourceName"`
			Title        string `json:"title"`
		} `json:"contentData"`
		ContentID   int `json:"contentId"`
		ContentType int `json:"contentType"`
		GenreID     int `json:"genreId"`
	} `json:"articleContents"`
	IssueDate    string `json:"issueDate"`
	ItemsPerPage int    `json:"itemsPerPage"`
	StartIndex   int    `json:"startIndex"`
	TotalResults int    `json:"totalResults"`
}

TrendSearchResponse キーワード検索レスポンス

type TrendService

type TrendService struct {
	// contains filtered or unexported fields
}

TrendService API docs: https://dev.smt.docomo.ne.jp/?p=docs.api.page&api_docs_id=26

func (*TrendService) GetContents

GetContents 指定したジャンルの記事を取得する.

func (*TrendService) GetGenre

GetGenre ジャンル情報の取得する.

func (*TrendService) GetRelated

GetRelated 関連記事取得

func (*TrendService) GetSearch

GetSearch キーワード検索

func (*TrendService) WithContext

func (d *TrendService) WithContext(ctx context.Context) *TrendService

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL