Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

60 Zeilen
1.2KB

  1. package main
  2. import (
  3. "bytes"
  4. "fmt"
  5. "io/ioutil"
  6. "log"
  7. "net/http"
  8. )
  9. type mediaQuery struct {
  10. Type string `json:"type"`
  11. Offiset string `json:"offset"`
  12. Count int `json:"count"`
  13. }
  14. type mediaCount struct {
  15. VoiceCount int64 `json:"voice_count"`
  16. VideoCount int64 `json:"video_count"`
  17. ImageCount int64 `json:"image_count"`
  18. NewsCount int64 `json:"news_count"`
  19. }
  20. func getNewList() (jstr string) {
  21. jstr = getMediaList("news")
  22. return
  23. }
  24. func getMediaList(mediaType string) (jstr string) {
  25. var jsonStr = []byte(`{"type":mediaType, "offset":0, "count":20}`)
  26. u := url4NewsList()
  27. req, err := http.NewRequest("POST", u, bytes.NewBuffer(jsonStr))
  28. log.Println(u)
  29. if err != nil {
  30. return ""
  31. }
  32. client := &http.Client{}
  33. r, err := client.Do(req)
  34. if err != nil {
  35. return ""
  36. }
  37. defer r.Body.Close()
  38. b, _ := ioutil.ReadAll(r.Body)
  39. jstr = string(b)
  40. return
  41. }
  42. func url4NewsList() string {
  43. atk, _ := GetAccessToken()
  44. u := fmt.Sprintf("https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=%s", atk)
  45. return u
  46. }
  47. func url4MediaCount() string {
  48. atk, _ := GetAccessToken()
  49. u := fmt.Sprintf("https://api.weixin.qq.com/cgi-bin/material/get_materialcount?access_token=%s", atk)
  50. return u
  51. }