telegraph/create_page.go

34 lines
821 B
Go
Raw Normal View History

2017-09-04 21:09:59 +00:00
package telegraph
import (
"strconv"
http "github.com/valyala/fasthttp"
)
// CreatePage create a new Telegraph page. On success, returns a Page object.
2019-07-24 08:03:29 +00:00
func (a *Account) CreatePage(page Page, returnContent bool) (*Page, error) {
src, err := parser.Marshal(page.Content)
2017-09-04 21:09:59 +00:00
if err != nil {
2019-07-24 08:03:29 +00:00
return nil, err
2017-09-04 21:09:59 +00:00
}
2018-07-27 11:51:14 +00:00
args := http.AcquireArgs()
defer http.ReleaseArgs(args)
args.Add("access_token", a.AccessToken) // required
args.Add("title", page.Title) // required
2019-07-24 08:03:29 +00:00
args.Add("author_name", page.AuthorName)
args.Add("author_url", page.AuthorURL)
args.AddBytesV("content", src)
2018-07-27 11:51:14 +00:00
args.Add("return_content", strconv.FormatBool(returnContent))
2017-09-04 21:09:59 +00:00
2019-07-24 08:03:29 +00:00
data, err := makeRequest("createPage", args)
2017-09-04 21:09:59 +00:00
if err != nil {
return nil, err
}
2019-07-24 08:03:29 +00:00
var result Page
err = parser.Unmarshal(data, &result)
return &result, err
2017-09-04 21:09:59 +00:00
}