Google Play Developer API
查询退款数据
链接中开发者文档中Voided Purchases API已经给出了查询退款订单的步骤,本文给出了文档中没有提到的access_token的获取方式,并给出一个简单的demo
查询链接
GET https://www.googleapis.com/androidpublisher/v3/applications/${
yourPkgName}/purchases/voidedpurchases?access_token=${
AccessTokne}
接口限制
- 每天 6000 次查询(一天是从太平洋时间午夜开始,并于次日同一时间结束)
- 在任何时长为 30 秒的期限内查询 30 次。
其他参数说明
- startTime 在响应中看到的最早作废的购买交易的时间。默认情况下,startTime 设为 30 天以前。最长只能查询到30天内的记录。
- endTime 在响应中看到的最晚作废的购买交易的时间。默认情况下,endTime 设为当前时间。
- maxResults: 每个响应中出现的已作废购买交易的数量上限。默认值为 1000,最大值1000。
- token 之前响应中的继续令牌
- type : 0/1。取值为0,系统只会返回已作废的应用内购买。取值为1 ,系统将返回已作废的应用内购买和已作废的订阅购买。默认值为 0。
参数以&key=value的形式拼接在链接后
AccessToken获取
// PS:首先你应该能拿到应用的包名和授权账号密钥对应的公钥,这里使用的是.json格式的公钥
import (
"context"
"net/http"
"golang.org/x/oauth2"
"golang.org/x/oauth2/google"
"google.golang.org/api/androidpublisher/v3"
)
const credentials = []byte(``) // 公钥的json串
func getGoogleApiAccessToken() (token string, err error) {
c := &http.Client{
Timeout: 10 * time.Second}
ctx := context.WithValue(context.Background(), oauth2.HTTPClient, c)
conf, err := google.JWTConfigFromJSON(credentials, androidpublisher.AndroidpublisherScope)
if err != nil {
return "", err
}
val := conf.Client(ctx).Transport.(*oauth2.Transport)
tokenObj, err := val.Source.Token(