我真的很努力使用可汗学院的 OAuth。这是针对我的班级网站(我是老师),我想提取特定学生的用户数据。如果我能做 OAUTH 我会没事的。我正在使用 PHP。
那里似乎有很多图书馆,我一直在玩 Google Oauth(位于此处http://code.google.com/p/oauth-php/source/browse/trunk/example/client/twolegged.php)
我可以很好地制定令牌请求,尽管当我在脚本中调用它时,它似乎试图重定向到另一个页面并在那里被阻止。
http://myonlinegrades.com/prealg/khan/oauth-php/example/client/twoleggedtest.php
我真的很挣扎 - 我喜欢你可能提供的任何帮助。
下面的代码:
<?php
include_once "../../library/OAuthStore.php";
include_once "../../library/OAuthRequester.php";
// Test of the OAuthStore2Leg
// uses http://term.ie/oauth/example/
$key = '*********';//'<your app's API key>';
$secret = '***********';//'<your app's secret>';
$callBack = "http://myonlinegrades.com/prealg/test2.php5";
$url = 'http://www.khanacademy.org/api/auth/request_token';
$options = array('consumer_key' => $key, 'consumer_secret' => $secret);
OAuthStore::instance("2Leg", $options);
$method = "GET";
//$params = null;
$params = array(oauth_consumer_key => $key,oauth_callback=>$callBack);
try
{
// Obtain a request object for the request we want to make
$request = new OAuthRequester($url, $method, $params);
// Sign the request, perform a curl request and return the results,
// throws OAuthException2 exception on an error
// $result is an array of the form: array ('code'=>int, 'headers'=>array(), 'body'=>string)
$result = $request->doRequest();
$response = $result['body'];
if ($response != 'oauth_token=requestkey&oauth_token_secret=requestsecret')
{
echo 'Error! $response ' . $response;
}
else
{
}
var_dump($response);
}
catch(OAuthException2 $e)
{
echo "Exception" . $e->getMessage();
}
?>