You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
3.0 KiB
73 lines
3.0 KiB
package pinduoduo
|
|
|
|
import (
|
|
"context"
|
|
"github.com/dtapps/go-library/utils/gojson"
|
|
"github.com/dtapps/go-library/utils/gorequest"
|
|
)
|
|
|
|
type PddDdkOauthRpPromUrlGenerateResponse struct {
|
|
RpPromotionUrlGenerateResponse struct {
|
|
ResourceList []struct {
|
|
Desc string `json:"desc"`
|
|
Url string `json:"url"`
|
|
} `json:"resource_list"`
|
|
UrlList []struct {
|
|
MobileShortUrl string `json:"mobile_short_url"`
|
|
MobileUrl string `json:"mobile_url"`
|
|
MultiGroupMobileShortUrl string `json:"multi_group_mobile_short_url"`
|
|
MultiGroupMobileUrl string `json:"multi_group_mobile_url"`
|
|
MultiGroupShortUrl string `json:"multi_group_short_url"`
|
|
MultiGroupUrl string `json:"multi_group_url"`
|
|
QqAppInfo struct {
|
|
AppId string `json:"app_id"`
|
|
BannerUrl string `json:"banner_url"`
|
|
Desc string `json:"desc"`
|
|
PagePath string `json:"page_path"`
|
|
QqAppIconUrl string `json:"qq_app_icon_url"`
|
|
SourceDisplayName string `json:"source_display_name"`
|
|
Title string `json:"title"`
|
|
UserName string `json:"user_name"`
|
|
} `json:"qq_app_info"`
|
|
SchemaUrl string `json:"schema_url"`
|
|
ShortUrl string `json:"short_url"`
|
|
TzSchemaUrl string `json:"tz_schema_url"`
|
|
Url string `json:"url"`
|
|
WeAppInfo struct {
|
|
AppId string `json:"app_id"`
|
|
BannerUrl string `json:"banner_url"`
|
|
Desc string `json:"desc"`
|
|
PagePath string `json:"page_path"`
|
|
SourceDisplayName string `json:"source_display_name"`
|
|
Title string `json:"title"`
|
|
UserName string `json:"user_name"`
|
|
WeAppIconUrl string `json:"we_app_icon_url"`
|
|
} `json:"we_app_info"`
|
|
} `json:"url_list"`
|
|
} `json:"rp_promotion_url_generate_response"`
|
|
}
|
|
|
|
type PddDdkOauthRpPromUrlGenerateResult struct {
|
|
Result PddDdkOauthRpPromUrlGenerateResponse // 结果
|
|
Body []byte // 内容
|
|
Http gorequest.Response // 请求
|
|
Err error // 错误
|
|
}
|
|
|
|
func newPddDdkOauthRpPromUrlGenerateResult(result PddDdkOauthRpPromUrlGenerateResponse, body []byte, http gorequest.Response, err error) *PddDdkOauthRpPromUrlGenerateResult {
|
|
return &PddDdkOauthRpPromUrlGenerateResult{Result: result, Body: body, Http: http, Err: err}
|
|
}
|
|
|
|
// PromUrlGenerate 生成营销工具推广链接
|
|
// https://jinbao.pinduoduo.com/third-party/api-detail?apiName=pdd.ddk.oauth.rp.prom.url.generate
|
|
func (c *PddDdkOauthRpApi) PromUrlGenerate(ctx context.Context, notMustParams ...Params) *PddDdkOauthRpPromUrlGenerateResult {
|
|
// 参数
|
|
params := NewParamsWithType("pdd.ddk.oauth.rp.prom.url.generate", notMustParams...)
|
|
// 请求
|
|
request, err := c.client.request(ctx, params)
|
|
// 定义
|
|
var response PddDdkOauthRpPromUrlGenerateResponse
|
|
err = gojson.Unmarshal(request.ResponseBody, &response)
|
|
return newPddDdkOauthRpPromUrlGenerateResult(response, request.ResponseBody, request, err)
|
|
}
|