在对接 Steam API 过程中遇到一些问,有对接过的吗?

最近在做一个类似 stmbuy 的应用,开发过程需要对接 steam api 获取用户的公开库存,在查阅 steam api 文档后发现可以使用 https://partner.steam-api.com/IInventoryService/GetInventory/v1 接口获取,但是我调用一直是报 403 错误。

我的代码如下:

<?php
namespace App\Http\Controllers\Api;
use App\Http\Requests\Api\OrnamentRequest;
use App\Models\Ornament;
use App\Transformers\OrnamentTransformer;
use GuzzleHttp\Client;
use Illuminate\Http\Request;
class OrnamentsController extends Controller
{
    public function inventory(){
        $client_http=new Client(['verfiy'=>false]);
        $url="https://partner.steam-api.com/IInventoryService/GetInventory/v1/?key=key";
        $input_json=json_encode([
            "appid"=>570,
            "steamid"=>"steamid",
        ]);
        $input_json_url_encode=urlencode($input_json);
        $url=$url."&input_json=".$input_json_url_encode;
        try{
            $response= $client_http->request("get",$url);
        }catch (\Exception $exception){
            return ['status' => 500, 'msg' => $exception->getMessage(), 'info' => []];
        }
        $status = $response->getStatusCode();
        $json_content = $response->getBody()->getContents();
        if ($status!=200){
            return ['status' => $status, 'msg' => '', 'info' => []];
        }
        return ["url"=>$url,"response"=>$json_content];
    }
}

steam api 接口区分普通接口和服务(service)接口,除了传参数方式不一样外,服务接口还要使用开发者 web api 密钥,在调用服务接口的使用我已经使用了开发者密钥。

在对接 steam api 过程中遇到一些问,有对接过的吗?

我试过普通的接口,很轻松的获取到结果了,比如:https://api.steampowered.com/ISteamUser/GetFriendList/v1/

感谢您看我的问题,我尝试了在网上搜索解决,但是失败了,如果您知道怎么解决,麻烦告诉我我该怎么做?如果您需要报酬才能解决的话,可以私信我报个价。

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 11

友情提醒:你是不是暴露了不该暴露的东西?

4年前 评论

检查,参数是不是给正确了?秘钥之类?提示你没权限

4年前 评论

@largezhou 没关系,现在是测试阶段,提供这些是为了给需要调试的人调试,这些后期都会换的

4年前 评论

@hedeqiang 参数是按照文档写的,不知道是不是我对文档的解读有误。

4年前 评论

steamid你的代码里是字符串,案例上是一个大整数,你调整下看下对不对

4年前 评论

先把问题里面的 key 删了吧,这个 key 能盗库存等等

4年前 评论

@RemoteOnly 我尝试过,不是这个问题。

4年前 评论

楼主 请问你找到解决办法了吗? 我也遇到这个问题 调用:http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=%s&steamids=%s 这个api没问题 但是调用:partner.steam-api.com/IInventorySe... 库存api就提示权限不够了·····

3年前 评论

@zhangdinghui 库存 api 权限不足的问题没有解决,但是用了另外一个接口搞定了获取库存的问题,接口地址:steamcommunity.com/inventory

3年前 评论

你们可以拿到授权登陆steam 之后 除了拿到steamid 还可以拿到头像 昵称吗

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!