本代码是PHPSDK调用API接口的测试页补充版,用于熟悉开放平台的接口调用。
此测试页面无法独立使用,需要上传整个SDK才可使用,PHP_SDK下载地址【http://wiki.open.qq.com/wiki/SDK下载】,SDK版本为PHP_SDK_V3.0.9,发布时间2013-05-30,压缩包大小13 K ,后续版本的SDK可能会修复这个测试页面的不完善。
本代码是对SDK包里的Test_OpenApiV3.php取得参数代码的补充。
其中。。。之间的为补充代码,其他代码为平台SDK原始代码。
原测试页内用户登陆参数(openid,openkey)被写死了,登陆状态已失效,无法完成测试,正常使用需要重新获取用户登陆参数,补充的代码完成了参数的获取。
测试时注意修改为自己的appid与appkey,然后在应用管理中心填写测试页上传后的地址。
然后登陆【http://rc.qzone.qq.com/801296122】进行测试,地址内的数字替换为你申请到的appid。应用中心会在框架内载入你的页面,并且通过地址传递(openid,openkey,pf,pfkey等)用户信息。
若页面提示服务器内部错误,需要在应用管理中心为你的应用添加信任ip。
<?php /** * OpenAPI V3 SDK 示例代码,适用于大部分OpenAPI。如果是上传文件类OpenAPI,请参考本SDK包中的“Test_UploadFile.php”文件中的示例代码。 * * @version 3.0.4 * @author open.qq.com * @copyright © 2012, Tencent Corporation. All rights reserved. * @History: * 3.0.4 | coolinchen | 2012-09-07 10:20:12 | initialization */ require_once 'OpenApiV3.php'; // 应用基本信息 $appid = 100657839; $appkey = 'b96b85196a04ff2ef08707f43979db15'; // OpenAPI的服务器IP // 最新的API服务器地址请参考wiki文档: http://wiki.open.qq.com/wiki/API3.0%E6%96%87%E6%A1%A3 $server_name = '119.147.19.43'; // 用户的OpenID/OpenKey $openid = 'E098C1E975A2459E534B48FB3224CFB6'; $openkey = '05219DB6D7C04CA0B3F01A51D32635E3'; // 所要访问的平台, pf的其他取值参考wiki文档: http://wiki.open.qq.com/wiki/API3.0%E6%96%87%E6%A1%A3 $pf = 'qzone'; header('Content-Type: text/html; charset=utf-8'); $appid = 801296122 ; $appkey = '55ef6330931019f61c0ed4ddd7509ee9'; $openid = $_GET['openid']; $openkey = $_GET['openkey']; $pf = $_GET['pf']; echo '<pre class="brush:php;toolbar:false">'; print_r($_GET); $sdk = new OpenApiV3($appid, $appkey); $sdk->setServerName($server_name); $ret = get_user_info($sdk, $openid, $openkey, $pf); print_r("===========================n"); print_r($ret); /** * 获取好友资料 * * @param object $sdk OpenApiV3 Object * @param string $openid openid * @param string $openkey openkey * @param string $pf 平台 * @return array 好友资料数组 */ function get_user_info($sdk, $openid, $openkey, $pf) { $params = array( 'openid' => $openid, 'openkey' => $openkey, 'pf' => $pf, ); $script_name = '/v3/user/get_info'; return $sdk->api($script_name, $params,'post'); } // end of script