SIGNED WITH THE MAKEREQUEST FUNCTION
原文地址:http://blog.xiaonei.com/GetEntry.do?id=374567382&owner=253723720
<?php
require_once("../OAuth.php");
class FOSignatureMethod extends OAuthSignatureMethod_RSA_SHA1 {
protected function fetch_public_cert(&$request) {
return <<<EOD
-----BEGIN CERTIFICATE-----
MIICxTCCAi6gAwIBAgIJAKGu1p8ZX0ClMA0GCSqGSIb3DQEBBQUAMEwxCzAJBgNV
BAYTAkdCMRIwEAYDVQQIEwlCZXJrc2hpcmUxEDAOBgNVBAcTB05ld2J1cnkxFzAV
BgNVBAoTDk15IENvbXBhbnkgTHRkMB4XDTA4MTAxNzAyMDkwNloXDTA5MTAxNzAy
MDkwNlowTDELMAkGA1UEBhMCR0IxEjAQBgNVBAgTCUJlcmtzaGlyZTEQMA4GA1UE
BxMHTmV3YnVyeTEXMBUGA1UEChMOTXkgQ29tcGFueSBMdGQwgZ8wDQYJKoZIhvcN
AQEBBQADgY0AMIGJAoGBAMLJ0Jcel8Jnw3dG4vUp7uOiBtRhShUEKD8wXSbjT/H4
vP6Np0wSBE1II0D4rmA6+LEJQp6II+35lnx3QZ4Fwknxg0EsHDrJHxmz47+Jdebg
KHwkdLteubzshqOD0DKpwIvp+tVdmtV9ThAk1k2La7y+O2qEZLnhpMPMh7rtWXc5
AgMBAAGjga4wgaswHQYDVR0OBBYEFK2mxQW2Zilj6YK/Jd8iEOio62tuMHwGA1Ud
IwR1MHOAFK2mxQW2Zilj6YK/Jd8iEOio62tuoVCkTjBMMQswCQYDVQQGEwJHQjES
MBAGA1UECBMJQmVya3NoaXJlMRAwDgYDVQQHEwdOZXdidXJ5MRcwFQYDVQQKEw5N
eSBDb21wYW55IEx0ZIIJAKGu1p8ZX0ClMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcN
AQEFBQADgYEAL9baSkA4jw+FL5Aq7xDR7aAoDu6qKT3wRgpmSQl9vL0SatncDdio
JpfAnENN3g4M/MABt0B1qOd7r1rK+ymbmszficRyb5v0Z8n/60fIg42YHygV+wFa
wcf4VXqAQ+lCpCosqgi30XDJXNECMx1kHf7NUtNacJpxHhJ+6swqErc=
-----END CERTIFICATE-----
EOD;
}
}
//Build a request object from the current request
$request = OAuthRequest::from_request(null, null, array_merge($_GET, $_POST));
//Initialize the new signature method
$signature_method = new FOSignatureMethod();
//Check the request signature
@$signature_valid = $signature_method->check_signature($request, null, null, $_GET["oauth_signature"]);
//Build the output object
$payload = array();
if ($signature_valid == true) {
$payload["validated"] = "Success! The data was validated";
} else {
$payload["validated"] = "This request was spoofed";
}
//Add extra parameters to help debugging
$payload["get"] = $_GET;
$payload["post"] = $_POST;
$payload["rawpost"] = file_get_contents("php://input");
//Return the response as JSON
echo var_export($payload);
?>
GET FRIENDS FROM OPENSOCIAL
原文地址:http://blog.xiaonei.com/GetEntry.do?id=374567032&owner=253723720
function set_page_params(data) {
page_params = new Object();
page_params.o = data.get('o').getData();
page_params.v = data.get('v').getData();
page_params.of = data.get('of').getData().asArray();
page_params.vf = data.get('vf').getData().asArray();
get_owner_footmark();
}
function get_page_params() {
var opts = {};
opts[opensocial.DataRequest.PeopleRequestFields.FIRST] = 0;
opts[opensocial.DataRequest.PeopleRequestFields.MAX] = 40;
opts[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS] =
[opensocial.Person.Field.AGE,
opensocial.Person.Field.NAME,
opensocial.Person.Field.GENDER,
opensocial.Person.Field.PROFILE_URL,
opensocial.Person.Field.THUMBNAIL_URL,
opensocial.Person.Field.STATUS];
opts[opensocial.DataRequest.PeopleRequestFields.SORT_ORDER] = opensocial.DataRequest.SortOrder.NAME;
req = opensocial.newDataRequest();
req.add(req.newFetchPersonRequest('OWNER', opts), 'o');
req.add(req.newFetchPeopleRequest('OWNER_FRIENDS', opts), 'of');
req.add(req.newFetchPersonRequest('VIEWER', opts), 'v');
req.add(req.newFetchPeopleRequest('VIEWER_FRIENDS', opts), 'vf');
req.send(set_page_params);
}