Steam Sdk接入

产品要接入Steam Sdk,折腾了两天终于搞好了,记录下接入流程和中间遇到的问题:

接入流程:
1.下载Steam Sdk,解压文件;

2.将目录下sdk\public\steam 目录下的头文件和库导入项目;

3.将sdk\redistributable_bin中的库导入项目;

4.创建steam_appid.txt 里面写入appid,放到执行目录(项目生成exe所在目录);

5.需要的地方导入steam_api.h头文件,调用接口;


过程中遇到的问题:

1.调用 SteamAPI_Init() 返回初始化失败
  测试时使用的自己的Steam账号一直提示失败,换成Steam开发者账号初始化成功;(猜测是产品未上线不能使用普通Steam账号)

2.调用SteamUser类的GetAuthSessionTicket获得的票据传给服务器向Steam后台验证一直验证失败
  原因是服务器验证时未按照文档要求将票据转成十六进制

  当然了客户端也可以将票据转成十六进制,再传给服务器,如何转换请点击此处

Spring Boot是一个流行的Java框架,它简化了构建生产级应用程序的过程。如果你想利用Spring Boot实现Steam API接口的能力,你可以按照以下步骤操作: 1. 添加依赖:首先,你需要在你的`pom.xml`文件中添加对相关库的支持,比如`RestTemplate`用于HTTP请求,以及处理JSON数据的`Jackson`或`Gson`。 ```xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 如果需要json解析 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency> </dependencies> ``` 2. 创建服务类:创建一个`@Service`或`@RestController`类,这里你会有一个方法用于处理Steam API的请求。例如,假设你想获取用户信息,可以这样设计: ```java import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; @Service public class SteamApiService { @Value("${STEAM_API_KEY}") private String apiKey; public User getUserInfo(String userId) { RestTemplate restTemplate = new RestTemplate(); String apiUrl = "https://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=" + apiKey + "&steamids=" + userId; ResponseEntity<String> response = restTemplate.getForEntity(apiUrl, String.class); return parseResponse(response.getBody()); } // 对返回的JSON进行解析,这里省略解析部分 } ``` 注意替换`STEAM_API_KEY`为你从Steam获取的实际API密钥,并确保URL格式正确。 3. 注册配置:如果你的API密钥作为环境变量存储,可以在`application.properties`或`application.yml`中注册: ```properties STEAM_API_KEY=your_steam_api_key_here ``` 4. 调用服务:通过Controller或其他服务组件,你可以对外暴露这个接口供客户端调用。 ```java @RestController public class SteamApiController { @Autowired private SteamApiService steamApiService; @GetMapping("/users/{userId}") public ResponseEntity<User> getPlayerSummary(@PathVariable("userId") Long userId) { User user = steamApiService.getUserInfo(userId.toString()); return ResponseEntity.ok(user); } } ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值