golang Playlyfe REST API 集成开发插件库playlyfe的使用
Golang Playlyfe REST API 集成开发插件库playlyfe的使用
这是Playlyfe API的官方OAuth 2.0 Go/Golang客户端SDK。它支持client_credentials
和authorization code
OAuth 2.0流程。
安装
go get github.com/playlyfe/playlyfe-go-sdk
使用示例
Playlyfe类允许你进行REST API调用,如GET、POST等。首先使用客户端凭证流程创建一个新的playlyfe对象,然后开始发出请求。
import "github.com/playlyfe/playlyfe-go-sdk"
type Player struct {
ID string `json:"id"`
Alias string `json:"alias"`
}
var johny Player
func main() {
pl := playlyfe.NewClientV2("Your client id", "Your client secret", nil, nil)
err := pl.Get("/runtime/player", playlyfe.H{"player_id": "johny"}, johny) // 获取玩家资料
}
创建客户端
1. 客户端凭证流程
在客户端页面,为第一个和第二个问题都选择"是"。
import "github.com/playlyfe/playlyfe-go-sdk"
pl := playlyfe.NewClientV2("Your client id", "Your client secret", nil, nil)
2. 授权码流程
在客户端页面,为第一个问题选择"是",为第二个问题选择"否"。
import "github.com/playlyfe/playlyfe-go-sdk"
pl := playlyfe.NewCodeV2("Your client id", "Your client secret", "redirect_uri", nil, nil)
3. 使用JWT(JSON Web Token)的自定义登录流程
在客户端页面,为第一个问题选择"否",为第二个问题选择"是"。
import "github.com/playlyfe/playlyfe-go-sdk"
token, err := playlyfe.createJWT("your client_id", "your client_secret",
"player_id", // 与用户关联的玩家ID
[]string{"player.runtime.read", "player.runtime.write"}, // 玩家有权限的范围
3600; // 1小时过期时间
)
客户端范围
你的客户端有一定的访问控制限制。Playlyfe REST API中有3种资源:
/admin
-> 用于执行管理操作的路径,如让玩家加入团队/design
-> 用于以编程方式进行设计更改的路径/runtime
-> 用户通常会使用的路径,如获取玩家资料、执行动作
方法
API
error API("GET", // 请求方法可以是GET/POST/PUT/PATCH/DELETE
"", // 获取数据的API路径
playlyfe.H{}, // 要发送到路径的查询参数
struct{} ,// 要发布到API的数据
result interface{}, // 解组的数据
false // 是否希望响应为原始字符串形式或json
)
Get
error Get("", // 获取数据的API路径
playlyfe.H{}, // 要发送到的查询参数,
result interface{}, // 解组的数据
)
Post
error Post("", // 发布数据的API路径
playlyfe.H{}, // 要发送到路径的查询参数
struct{},// 要发布到API的数据
result interface{}, // 解组的数据
)
Patch
error Patch("" // 修补数据的API路径
playlyfe.H{} // 要发送到路径的查询参数
struct{} ,// 要发布到API的数据
result interface{}, // 解组的数据
)
Put
error Put("" // 放置数据的API路径
playlyfe.H{}, // 要发送到路径的查询参数
struct{} ,// 要发布到API的数据
result interface{}, // 解组的数据
)
Delete
error Delete("" // 删除组件的API路径
playlyfe.H{} // 要发送到路径的查询参数,
result interface{}, // 解组的数据
)
获取登录URL
GetLoginURL() string
//这将返回用户需要重定向以进行登录的URL。
交换代码
ExchangeCode(code string)
//这在授权码流程中使用,以便SDK可以获取访问令牌。
//在对playlyfe api发出任何请求之前,必须至少调用一次。
//这应该在您在redirect_uri中指定的路由/控制器中调用
错误
每当PlaylyfeAPI发生错误时,每个调用都会返回一个*Error
。错误包含一个Name和Description字段,可用于确定发生的错误类型。
你必须先将错误类型转换为*PlaylyfeError,如下所示:
err := pl.Get("/player", playlyfe.H{"player_id": "student1"}, &player)
if pe, ok := err.(*playlyfe.Error); ok {
return pe
} else {
panic(err) // 对此类错误执行需要执行的操作
}
许可证
Playlyfe Go SDK
Copyright© 2014-2015, Playlyfe IT Solutions Pvt. Ltd, support@playlyfe.com
特此免费授予任何获得本软件副本及相关文档文件(“软件”)的人不受限制地处理本软件的权限,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售本软件副本的权利,并允许向其提供本软件的人这样做,但须符合以下条件:
上述版权声明和本许可声明应包含在本软件的所有副本或实质性部分中。
本软件按"原样"提供,不作任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是在合同、侵权或其他行为中产生的,还是与本软件或使用或其他处理本软件有关的。
更多关于golang Playlyfe REST API 集成开发插件库playlyfe的使用的实战教程也可以访问 https://www.itying.com/category-94-b0.html