View Single Post
  #1  
Old 05-28-2015, 08:18 AM
Skyrider Skyrider is offline
 
Join Date: Feb 2006
Location: Netherlands
Posts: 1,392
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Grabbing value from an API (existing code)

I know I'm asking a lot lately, but I'm still learning. Currently, I'm using this code (in attempts) to get the proper value: (inside a *.PHP file)

Code:
	    $url = sprintf("http://api.steampowered.com/ISteamUser/GetPlayerBans/v1/?key=%s&steamid=%s",
		$api_key,
		$steam_id);

	$curl_time = microtime(1);
	// Needs curl to actually be able to pull data from steam api because of the special response-behaviour.
    $ch = curl_init();
    curl_setopt( $ch, CURLOPT_URL, $url );
    @curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    curl_setopt( $ch, CURLOPT_AUTOREFERER, true );
    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
    curl_setopt( $ch, CURLOPT_MAXREDIRS, 5 );
    curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, $vbulletin->options['stc_curl_timeout'] ); #rc1: helps with page delay if steam is down
    $tradeban = curl_exec( $ch );
    $http_response_header = curl_getinfo( $ch );
	$curl_errno = curl_errno($ch);
	$curl_error = curl_error($ch);
	curl_close($ch);
    
    $tradeban = json_decode($tradeban, 1);
With:
Code:
    $steam_info['EconomyBan'] = is_array($tradeban) && isset($tradeban['players'], $tradeban['players']['EconomyBan']) ? $tradeban['players']['EconomyBan'] : -1;
To get the value.. however, once I check whatever it grabs, it shows this:

Quote:
"EconomyBan";i:-1;}
Here's an example of an API result when going to: http://api.steampowered.com/ISteamUs...=xx&steamid=xx (<- key removed for obvious reasons)

Quote:
{
"players": [
{
"SteamId": "76561198024651743",
"CommunityBanned": false,
"VACBanned": false,
"NumberOfVACBans": 0,
"DaysSinceLastBan": 0,
"NumberOfGameBans": 0,
"EconomyBan": "banned"
}
]

}
I need to get the value of the EconomyBan which in this case is "banned". Any help would be appreciated, been trying for hours now. I assume the -1 only works for numbers rather than letters?

Forgot to mention. EconomyBan is already filled in in the steam options plugin (see attachment), so the EconomyBan field should be called. You can ignore the rest of the text on the attachment provided below, the author already has created this steam_level check for me:

Code:
    $url = sprintf("http://api.steampowered.com/IPlayerService/GetSteamLevel/v0001/?key=%s&steamid=%s",
		$api_key,
		$steam_id);

	$curl_time = microtime(1);
	// Needs curl to actually be able to pull data from steam api because of the special response-behaviour.
    $ch = curl_init();
    curl_setopt( $ch, CURLOPT_URL, $url );
    @curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    curl_setopt( $ch, CURLOPT_AUTOREFERER, true );
    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
    curl_setopt( $ch, CURLOPT_MAXREDIRS, 5 );
    curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, $vbulletin->options['stc_curl_timeout'] ); #rc1: helps with page delay if steam is down
    $steamlevel = curl_exec( $ch );
    $http_response_header = curl_getinfo( $ch );
	$curl_errno = curl_errno($ch);
	$curl_error = curl_error($ch);
	curl_close($ch);
    
    $steamlevel = json_decode($steamlevel, 1);
with:

Code:
    $steam_info['player_level'] = is_array($steamlevel) && isset($steamlevel['response'], $steamlevel['response']['player_level']) ? $steamlevel['response']['player_level'] : -1;
Which is working perfectly. I'm merely trying to duplicate the code, and grab the information from a different API instead.
Attached Images
File Type: png steam-api-vbulletin.png (20.7 KB, 0 views)
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01144 seconds
  • Memory Usage 1,803KB
  • Queries Executed 12 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (4)bbcode_code
  • (2)bbcode_quote
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_attachment
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete