从一个 Steam 帐户而不是从另一个 Steam 帐户获取 tradeofferId
get tradeofferId from one steam account but not from another steam account
当我发送交易请求时,我在两个 Steam 帐户中都收到了 "tradeofferid" 的回复。
但是当我在 getoffers 列表请求中检查 "tradeofferId" 时,我只得到一个人的 Steam 帐户的 "tradeofferid".
我不明白这两个帐户之间有什么不同。两个帐户具有相同的设置,并且都是活动帐户。但有一个账户余额为零。
您需要根据要查看的报价修改查询。具体来说,IEconService/GetTradeOffers
方法有以下两个参数:
get_sent_offers
:设置为1
可获取账户已发送的优惠
get_received_offers
:设置为1
获取该账户已收到的offer。
<?php
$url = 'https://steamcommunity.com/tradeoffer/new/send';
$data = array(
'sessionid' => $sessionId,
'serverid' => '1',
'partner' => '76561198316682086',
'tradeoffermessage' => 'test',
'trade_offer_create_params' => '{"trade_offer_access_token": "5xsvx0BF"}',
'json_tradeoffer' => '{"newversion":true,"version":2,"them":{"assets":[],"currency":[],"ready":false},"them":{"assets":[{"appid":730,"contextid":"2","amount":1,"assetid":"8606185394"},{"appid":730,"contextid":"2","amount":1,"assetid":"8606185369"}],"currency":[],"ready":false}}'
);
$c = curl_init();
curl_setopt($c, CURLOPT_HEADER, false);
curl_setopt($c, CURLOPT_NOBODY, false);
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)");
curl_setopt($c, CURLOPT_COOKIE, $cookies);
curl_setopt($c,enter code here CURLOPT_POST, 1);
curl_setopt($c, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HTTPHEADER, array('Referer: https://steamcommunity.com/tradeoffer/new/?partner=356416358&token=5xsvx0BF'));
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($c, CURLOPT_CUSTOMREQUEST, strtoupper('POST'));
$response = curl_exec($c);
curl_close($c);
echo $response;
//get offerid in response. {"tradeofferid":12345..}
//but not found that offerid in getoffers
$getOffers = array(
"get_received_offers"=>'1',
"get_sent_offers"=>'1',
//"active_only"=>'1',
);
$getoffersData = array();
$getoffersData = $steam->getOffers($getOffers);
echo "<pre>";print_r($getoffersData);
?>
当我发送交易请求时,我在两个 Steam 帐户中都收到了 "tradeofferid" 的回复。 但是当我在 getoffers 列表请求中检查 "tradeofferId" 时,我只得到一个人的 Steam 帐户的 "tradeofferid".
我不明白这两个帐户之间有什么不同。两个帐户具有相同的设置,并且都是活动帐户。但有一个账户余额为零。
您需要根据要查看的报价修改查询。具体来说,IEconService/GetTradeOffers
方法有以下两个参数:
get_sent_offers
:设置为1
可获取账户已发送的优惠get_received_offers
:设置为1
获取该账户已收到的offer。
<?php
$url = 'https://steamcommunity.com/tradeoffer/new/send';
$data = array(
'sessionid' => $sessionId,
'serverid' => '1',
'partner' => '76561198316682086',
'tradeoffermessage' => 'test',
'trade_offer_create_params' => '{"trade_offer_access_token": "5xsvx0BF"}',
'json_tradeoffer' => '{"newversion":true,"version":2,"them":{"assets":[],"currency":[],"ready":false},"them":{"assets":[{"appid":730,"contextid":"2","amount":1,"assetid":"8606185394"},{"appid":730,"contextid":"2","amount":1,"assetid":"8606185369"}],"currency":[],"ready":false}}'
);
$c = curl_init();
curl_setopt($c, CURLOPT_HEADER, false);
curl_setopt($c, CURLOPT_NOBODY, false);
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)");
curl_setopt($c, CURLOPT_COOKIE, $cookies);
curl_setopt($c,enter code here CURLOPT_POST, 1);
curl_setopt($c, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HTTPHEADER, array('Referer: https://steamcommunity.com/tradeoffer/new/?partner=356416358&token=5xsvx0BF'));
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($c, CURLOPT_CUSTOMREQUEST, strtoupper('POST'));
$response = curl_exec($c);
curl_close($c);
echo $response;
//get offerid in response. {"tradeofferid":12345..}
//but not found that offerid in getoffers
$getOffers = array(
"get_received_offers"=>'1',
"get_sent_offers"=>'1',
//"active_only"=>'1',
);
$getoffersData = array();
$getoffersData = $steam->getOffers($getOffers);
echo "<pre>";print_r($getoffersData);
?>