0

我真的很努力使用可汗学院的 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();
}

?>
4

1 回答 1

2

不确定这是否是您要查找的内容,但我整理了一个使用 Temboo SDK 与可汗学院进行 oAuth 的简单示例:查看https://github.com/matthewflaming/temboo-experiments/tree/master /可汗学院Oauth

(全面披露:我在 Temboo 工作)

于 2013-02-13T23:16:18.160 回答