file

package
v0.1.3 Latest Latest
Warning

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

Go to latest
Published: Feb 7, 2025 License: Apache-2.0 Imports: 10 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type APIv3

type APIv3 interface {
	// 上传文件 (Alias)
	//  - 功能说明:可以将要推送的 alias 值先写入本地文件,然后将本地文件上传到极光服务器,后续就可以直接指定文件推送了。
	//	- 调用地址:POST `/v3/files/alias`
	//  - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_file#%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6
	UploadFileForAlias(ctx context.Context, param *FileUploadParam) (*FileUploadResult, error)

	// 上传文件 (Registration ID)
	//  - 功能说明:可以将要推送的 Registration ID 值先写入本地文件,然后将本地文件上传到极光服务器,后续就可以直接指定文件推送了。
	//	- 调用地址:POST `/v3/files/registration_id`
	//  - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_file#%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6
	UploadFileForRegistrationID(ctx context.Context, param *FileUploadParam) (*FileUploadResult, error)

	// 查询有效文件列表
	//  - 功能说明:获取当前保存在极光服务器的有效文件列表。
	//	- 调用地址:GET `/v3/files`
	//  - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_file#%E6%9F%A5%E8%AF%A2%E6%9C%89%E6%95%88%E6%96%87%E4%BB%B6%E5%88%97%E8%A1%A8
	GetFiles(ctx context.Context) (*FilesGetResult, error)

	// 查询指定文件详情
	//  - 功能说明:查询保存在极光服务器的,指定文件的详细信息。
	//	- 调用地址:GET `/v3/files/{fileID}`
	//  - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_file#%E6%9F%A5%E8%AF%A2%E6%8C%87%E5%AE%9A%E6%96%87%E4%BB%B6%E8%AF%A6%E6%83%85
	GetFile(ctx context.Context, fileID string) (*FileGetResult, error)

	// 删除指定文件
	//  - 功能说明:删除保存在极光服务器的指定文件。
	//	- 调用地址:DELETE `/v3/files/{fileID}`
	//  - 接口文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_file#%E5%88%A0%E9%99%A4%E6%96%87%E4%BB%B6
	//
	// 注意事项:
	//  - fileID 不存在当成功处理。
	//  - 对于即时推送,建议创建推送任务 5 分钟后再执行文件删除操作,否则推送任务可能会失败;
	//  - 对于文件定时推送,创建定时任务成功后,若任务被执行前文件被删除,则任务执行时推送动作将会失败。
	DeleteFile(ctx context.Context, fileID string) (*FileDeleteResult, error)
}

File API v3【极光推送 > REST API > 文件管理 API】

  • 功能说明:文件推送功能支持(调用文件推送接口推送前,必须先通过此模块接口上传文件,得到文件唯一标识(fileID)后方能推送),包括上传文件、查询文件、删除文件等相关 API。
  • 极光文档:https://docs.jiguang.cn/jpush/server/push/rest_api_v3_file

type APIv3Builder

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

用于构建和配置 File API v3 访问客户端的构建器。

func NewAPIv3Builder

func NewAPIv3Builder() *APIv3Builder

func (*APIv3Builder) Build

func (b *APIv3Builder) Build() (APIv3, error)

func (*APIv3Builder) DisableHttpLogging

func (b *APIv3Builder) DisableHttpLogging() *APIv3Builder

【可选】禁用 API 的 HTTP 日志记录,即不记录 API 的 HTTP 请求和响应的日志信息。

func (*APIv3Builder) SetAuthKey

func (b *APIv3Builder) SetAuthKey(authKey string) *APIv3Builder

【必填】设置 API 的应用标识 `appKey` 或开发者标识 `devKey`。

func (*APIv3Builder) SetAuthSecret

func (b *APIv3Builder) SetAuthSecret(authSecret string) *APIv3Builder

【必填】设置 API 的应用主密钥 `masterSecret` 或开发者密钥 `devSecret`。

func (*APIv3Builder) SetClient

func (b *APIv3Builder) SetClient(client api.Client) *APIv3Builder

【可选】设置 API 的客户端,用于发送 HTTP 请求,默认值为 api.DefaultClient。

func (*APIv3Builder) SetHost

func (b *APIv3Builder) SetHost(host string) *APIv3Builder

【可选】设置 API 的 Host 基础 URL,默认值为 api.HostJPushPushV3。

func (*APIv3Builder) SetHttpLogLevel

func (b *APIv3Builder) SetHttpLogLevel(httpLogLevel api.HttpLogLevel) *APIv3Builder

【可选】设置 API 的 HTTP 日志记录级别,用于指定记录 API 的 HTTP 请求和响应的日志信息的详细程度,默认值为 api.HttpLogLevelBasic。

  • 可用的级别:api.HttpLogLevelNone、api.HttpLogLevelBasic、api.HttpLogLevelHeaders、api.HttpLogLevelFull;
  • 若要禁用 HTTP 日志记录,可使用 DisableHttpLogging。

func (*APIv3Builder) SetLogger

func (b *APIv3Builder) SetLogger(logger jiguang.Logger) *APIv3Builder

【可选】设置 API 的日志记录器,默认值为 api.DefaultLogger。

type FileDeleteResult

type FileDeleteResult struct {
	*api.Response `json:"-"`
	Error         *api.CodeError `json:"error,omitempty"`
}

func (*FileDeleteResult) IsSuccess

func (rs *FileDeleteResult) IsSuccess() bool

type FileGetResult

type FileGetResult struct {
	*api.Response `json:"-"`
	Error         *api.CodeError         `json:"error,omitempty"`
	Type          string                 `json:"type,omitempty"`        // 文件类型,`alias` 或 `registration_id`
	FileID        string                 `json:"file_id,omitempty"`     // 文件 ID
	FileName      string                 `json:"file_name,omitempty"`   // 文件上传时的文件名,自 2021.10.14 日启用
	CreateTime    *jiguang.LocalDateTime `json:"create_time,omitempty"` // 文件创建(上传)时间
	ExpireTime    *jiguang.LocalDateTime `json:"expire_time,omitempty"` // 文件过期时间,当设置了文件有效期(即提交了 TTL 参数),则会携带该字段返回
}

func (*FileGetResult) IsSuccess

func (rs *FileGetResult) IsSuccess() bool

type FileUploadParam

type FileUploadParam struct {
	// 【必填】文件名。
	//  - 文件一行一个内容,忽略每行的前后空格和换行符作为实际的 Registration ID 值或者 Alias 值。
	//  - 文件只支持 txt 格式,要求文件内容必须是 UTF-8 编码。
	//  - 文件不超过 10M。
	//  - 文件自创建起,若不指定 TTL 参数,则服务器会默认保存 720 小时(即 30 天),超过有效期,服务器自动将文件删除。
	//  - 有效期内的文件不允许超过 20 个。
	File interface{} `json:"filename"`
	// 【可选】文件有效期,单位:小时,默认值:720,取值范围:1~720,即 1 小时至 720 小时(30天)。
	//  - 超过有效期,服务器自动将文件删除。
	TTL *int `json:"ttl,omitempty"`
}

type FileUploadResult

type FileUploadResult struct {
	*api.Response `json:"-"`
	Error         *api.CodeError `json:"error,omitempty"`
	FileID        string         `json:"file_id,omitempty"` // 文件 ID,后续供删除、查询、推送等时使用。
}

func (*FileUploadResult) IsSuccess

func (rs *FileUploadResult) IsSuccess() bool

type FilesGetResult

type FilesGetResult struct {
	*api.Response `json:"-"`
	Error         *api.CodeError  `json:"error,omitempty"`
	TotalCount    *int            `json:"total_count,omitempty"` // 当前有效的文件数
	Files         []FileGetResult `json:"files,omitempty"`       // 文件列表详情
}

func (*FilesGetResult) IsSuccess

func (rs *FilesGetResult) IsSuccess() bool

Jump to

Keyboard shortcuts

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