本文整理汇总了PHP中OAuth类的典型用法代码示例。如果您正苦于以下问题:PHP OAuth类的具体用法?PHP OAuth怎么用?PHP OAuth使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了OAuth类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: getTokenCredentials
public static function getTokenCredentials()
{
$result = array();
try {
$access_token_url = \Fuel\Core\Config::get('evernote.evernote_server') . '/oauth';
$oauth_verifier = \Fuel\Core\Session::get('oauthVerifier');
$oauth = new \OAuth(\Fuel\Core\Config::get('evernote.consumer_key'), \Fuel\Core\Config::get('evernote.consumer_secret'));
$request_token = \Fuel\Core\Session::get('requestToken');
$request_token_secret = \Fuel\Core\Session::get('requestTokenSecret');
$oauth->setToken($request_token, $request_token_secret);
$access_token_info = $oauth->getAccessToken($access_token_url, null, $oauth_verifier);
if ($access_token_info) {
$result['status'] = 'success';
$result['access_token'] = $access_token_info['oauth_token'];
$result['access_token_secret'] = $access_token_info['oauth_token_secret'];
$result['shard_id'] = $access_token_info['edam_shard'];
$result['user_id'] = $access_token_info['edam_userId'];
} else {
$result['status'] = 'failure';
}
} catch (\OAuthException $e) {
$result['status'] = 'failure';
}
return $result;
}
开发者ID:rizumita,项目名称:fuel-evernote,代码行数:25,代码来源:evernote.php
示例2: call
/**
* Call Twitter API methods
*
* @param string $method
* @param array $accessToken
* @param OAuth $oauth
* @param array $params (include oauth_method = POST/GET if need to override)
* @return string
*/
public static function call($method, $accessToken = null, OAuth $oauth, $params = array())
{
$oauth->setToken($accessToken['oauth_token'], $accessToken['oauth_token_secret']);
$resource = sprintf('%s/%s.json', 'https://api.twitter.com/1.1', $method);
// POST or GET
$method = OAUTH_HTTP_METHOD_GET;
if (isset($params['oauth_method'])) {
if ('POST' == strtoupper($params['oauth_method'])) {
$method = OAUTH_HTTP_METHOD_POST;
}
} else {
// If resource contains update, retweet (not retweets), filter, destroy, new, create - then POST not GET
foreach (array('update', 'retweet/', 'filter', 'destroy', 'new', 'create') as $resourcePart) {
if (false !== strpos($resource, $resourcePart)) {
$method = OAUTH_HTTP_METHOD_POST;
break;
}
}
}
if ($method == OAUTH_HTTP_METHOD_GET) {
if (count($params)) {
$resource = sprintf('%s?%s', $resource, http_build_query($params));
}
$params = null;
}
// Get back bad response if don't specify method where needs to be POST
if ($oauth->fetch($resource, $params, $method)) {
return $oauth->getLastResponse();
} else {
return null;
}
}
开发者ID:nixilla,项目名称:sfCacophonyPlugin,代码行数:41,代码来源:sfCacophonyTwitterSound.class.php
示例3: twitter_post
function twitter_post($text, $short_url)
{
global $globals;
if (!class_exists("OAuth")) {
syslog(LOG_NOTICE, "Meneame: pecl/oauth is not installed");
return;
}
if (!$globals['twitter_consumer_key'] || !$globals['twitter_consumer_secret'] || !$globals['twitter_token'] || !$globals['twitter_token_secret']) {
syslog(LOG_NOTICE, "Meneame: consumer_key, consumer_secret, token, or token_secret not defined");
return;
}
$maxlen = 140 - 24;
//strlen($short_url);
$msg = mb_substr(text_to_summary(html_entity_decode($text), $maxlen), 0, $maxlen) . ' ' . $short_url;
$req_url = 'https://api.twitter.com/oauth/request_token';
$acc_url = 'https://api.twitter.com/oauth/access_token';
$authurl = 'https://api.twitter.com/oauth/authorize';
$api_url = 'https://api.twitter.com/1.1/statuses/update.json';
$oauth = new OAuth($globals['twitter_consumer_key'], $globals['twitter_consumer_secret'], OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
$oauth->debug = 1;
$oauth->setToken($globals['twitter_token'], $globals['twitter_token_secret']);
$api_args = array("status" => $msg, "empty_param" => NULL);
/* No using geo yet
if (isset($entry['lat'])) {
$api_args['lat'] = $entry['lat'];
$api_args['long'] = $entry['long'];
}
*/
try {
$oauth->fetch($api_url, $api_args, OAUTH_HTTP_METHOD_POST, array("User-Agent" => "pecl/oauth"));
} catch (Exception $e) {
syslog(LOG_INFO, 'Menéame, Twitter caught exception: ' . $e->getMessage() . " in " . basename(__FILE__) . "\n");
}
}
开发者ID:brainsqueezer,项目名称:fffff,代码行数:34,代码来源:external_post.php
示例4: getUser
/**
* Retrive Twitter auth data in Cookie set by Twitter JSSDK.
*
* @param CakeRequest $request Request object.
* @return mixed Either false or an object of user information of Twitter
*/
public function getUser(CakeRequest $request)
{
$api = Configure::read('SocialSignIn.API.Twitter');
// $request_token_url = 'http://api.twitter.com/oauth/request_token';
// $access_token_url = "http://twitter.com/oauth/access_token";
// $authorize_url="http://twitter.com/oauth/authorize";
$session_name = $this->settings['session'];
$s = SessionComponent::read($session_name);
// if already authenticated, user object is stored in the session
if (isset($s['User']) && is_object($s['User'])) {
return $s['User'];
}
if (isset($request->query['oauth_token']) && isset($s['secret'])) {
$oauth = new OAuth($this->settings['consumer_key'], $this->settings['consumer_secret'], OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
$oauth->setToken($request->query['oauth_token'], $s['secret']);
$access_token_info = $oauth->getAccessToken($api['access_token_url']);
if ($access_token_info['oauth_token']) {
$oauth->setToken($access_token_info['oauth_token'], $access_token_info['oauth_token_secret']);
$data = $oauth->fetch($api['fetch_url']);
$user = json_decode($oauth->getLastResponse());
return $user;
}
}
return false;
}
开发者ID:abhilashlohar,项目名称:Housingmatters,代码行数:31,代码来源:TwitterAuthenticate.php
示例5: getTwitterFriendIds
function getTwitterFriendIds($user)
{
$cacheExpire = 24 * 60 * 60;
$POD = $user->POD;
$key = $POD->libOptions('twitter_api');
$secret = $POD->libOptions('twitter_secret');
$friends = array();
if ($user->get('twitter_token')) {
if ($user->get('twitter_list') != '' && time() - $user->get('twitter_list_generated') < $cacheExpire) {
$twoots = json_decode($user->get('twitter_list'));
foreach ($twoots as $f) {
$friends[] = $f;
}
} else {
try {
$oauth = new OAuth($key, $secret, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
$oauth->enableDebug();
// This will generate debug output in your error_log
$oauth->setToken($user->get('twitter_token'), $user->get('twitter_secret'));
$oauth->fetch('https://twitter.com/friends/ids.json?cursor=-1&user_id=' . $user->get('twitter_id'));
$json = json_decode($oauth->getLastResponse());
} catch (Exception $e) {
}
// contains the first 5000 twitter friends
foreach ($json->ids as $id) {
$friends[] = $id;
}
$user->addMeta('twitter_list', json_encode($friends));
$user->addMeta('twitter_list_generated', time());
}
}
return $friends;
}
开发者ID:RichieDupes,项目名称:PeoplePods,代码行数:33,代码来源:methods.php
示例6: authorize
public static function authorize($consumer_key, $consumer_secret, $request_token, $request_secret)
{
$oauth = new OAuth($consumer_key, $consumer_secret, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_FORM);
$oauth->setToken($request_token, $request_secret);
$access_token_info = $oauth->getAccessToken(GOOGLE_OAUTH_ACCESS_TOKEN_API);
return array("access_token" => $access_token_info["oauth_token"], "access_secret" => $access_token_info["oauth_token_secret"]);
}
开发者ID:copyfun,项目名称:Fusion-Tables-to-HTML-Table,代码行数:7,代码来源:oauth_ext.php
示例7: testHttpBuildQuery
public function testHttpBuildQuery()
{
$input = array('Name' => 'Gareth Wylie', 'Age' => 24, 'Formula' => 'a + b == 13%!');
$expect = 'Name=Gareth%20Wylie&Age=24&Formula=a%20%2B%20b%20%3D%3D%2013%25%21';
$oauth = new OAuth('foo', 'bar');
self::assertEquals($expect, $oauth->http_build_query($input));
}
开发者ID:vclayton,项目名称:unpecl-oauth,代码行数:7,代码来源:OAuthTest.php
示例8: authorize
function authorize()
{
$oauth = new OAuth(Config::get('TWITTER_CONSUMER_KEY'), Config::get('TWITTER_CONSUMER_SECRET'), OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
$oauth->enableDebug();
try {
$request_token = $oauth->getRequestToken($this->request_token_url);
} catch (OAuthException $e) {
debug($oauth->debugInfo);
}
$url = $this->authorize_url . '?' . http_build_query(array('oauth_token' => $request_token['oauth_token'], 'callback_url'));
print 'Authorize: ' . $url . "\n";
system(sprintf('open %s', escapeshellarg($url)));
fwrite(STDOUT, "Enter the PIN: ");
$verifier = trim(fgets(STDIN));
//$oauth->setToken($token, $request_token['oauth_token_secret']);
//$access_token = $oauth->getAccessToken($this->access_token_url);
$oauth->setToken($request_token['oauth_token'], $request_token['oauth_token_secret']);
try {
$access_token = $oauth->getAccessToken($this->access_token_url, NULL, $verifier);
} catch (OAuthException $e) {
debug($oauth->debugInfo);
}
printf("'TWITTER_TOKEN' => '%s',\n'TWITTER_TOKEN_SECRET' => '%s',\n", $access_token['oauth_token'], $access_token['oauth_token_secret']);
exit;
}
开发者ID:hubgit,项目名称:libapi,代码行数:25,代码来源:Twitter.php
示例9: getAccessToken
public function getAccessToken($oauthToken, $oauthTokenSecret, $oauthVerifier)
{
$oauth = new \OAuth($this->consumerKey, $this->consumerSecret);
$oauth->setToken($oauthToken, $oauthTokenSecret);
$accessToken = $oauth->getAccessToken($this->getEndpoint('oauth'), null, $oauthVerifier);
$this->token = $accessToken['oauth_token'];
return $accessToken;
}
开发者ID:slowmotion,项目名称:readerself,代码行数:8,代码来源:Client.php
示例10: getUserInfo
function getUserInfo($token, $secret)
{
$oauth = new OAuth(TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
$oauth->setToken($token, $secret);
$oauth->fetch('http://twitter.com/account/verify_credentials.json');
$buf = $oauth->getLastResponse();
return json_decode($buf, true);
}
开发者ID:napthats,项目名称:rtter_js_php,代码行数:8,代码来源:connect.php
示例11: ilost_get_fanauthorize
function ilost_get_fanauthorize()
{
$o = new OAuth(fan_akey, fan_skey);
$keys = $o->getRequestToken();
$aurl = $o->getAuthorizeURL($keys['oauth_token'], false, fan_callback);
$_SESSION['temp'] = $keys;
return $aurl;
}
开发者ID:xuui,项目名称:iLost,代码行数:8,代码来源:fanfou.php
示例12: __construct
public function __construct($consumer_key, $consumer_secret, $signature_method = OAUTH_SIG_METHOD_HMACSHA1, $auth_type = 0)
{
if (!class_exists('OAuth')) {
return ar_error::raiseError('OAuth PECL extension not installed', ar_exceptions::CONFIGURATION_ERROR);
}
$oauth = new OAuth($consumer_key, $consumer_secret, $signature_method, $auth_type);
$oauth->setRequestEngine(OAUTH_REQENGINE_STREAMS);
parent::__construct($oauth);
}
开发者ID:poef,项目名称:ariadne,代码行数:9,代码来源:oauth.php
示例13: testError
public function testError()
{
$oauth = new OAuth('wx229aa24fa4a2xxxx', 'error_secret');
$oauth->getAccessToken('code', 'error_authorization_code');
$this->assertStringStartsWith('get access token failed: system error', $oauth->error());
$oauth = new OAuth('wx229aa24fa4a2xxxx', 'error_secret', 'error_access_token');
$oauth->api('sns/userinfo', array('openid' => 'error_openid'));
$this->assertStringStartsWith('request failed: invalid credential, access_token is invalid or not latest', $oauth->error());
}
开发者ID:henter,项目名称:wechat-oauth,代码行数:9,代码来源:OAuthErrorTest.php
示例14: call
/**
* Calls Netflix API methods
*
* @static
* @param $method
* @param null $accessToken
* @param OAuth $oauth
* @param array $params
* @return string
*/
public static function call($method, $accessToken = null, OAuth $oauth, $params = array())
{
$oauth->setToken($accessToken['oauth_token'], $accessToken['oauth_token_secret']);
$resource = sprintf('%s/%s?output=json', 'http://api.netflix.com', $method);
if (count($params)) {
$resource = sprintf('%s&%s', $resource, http_build_query($params));
}
if ($oauth->fetch($resource)) {
return $oauth->getLastResponse();
}
}
开发者ID:nixilla,项目名称:sfCacophonyPlugin,代码行数:21,代码来源:sfCacophonyNetflixSound.class.php
示例15: sendPOST
/**
* Send a POST request to the specified URL with the specified payload.
* @param string $url
* @param string $data
* @return string Remote data
**/
public function sendPOST($url, $data = array())
{
$data['_fake_status'] = '200';
// Send the actual request.
try {
$this->instance->fetch($url, $data, OAUTH_HTTP_METHOD_POST, array('User-Agent' => sprintf(Imgur::$user_agent, Imgur::$key)));
} catch (OAuthException $e) {
throw new Imgur_Exception("Could not successfully do a sendPOST: " . $e->getMessage(), null, $e);
}
return $this->instance->getLastResponse();
}
开发者ID:plehnet,项目名称:Imgur-API-for-PHP,代码行数:17,代码来源:PECLOAuth.php
示例16: _getOAuth
private function _getOAuth()
{
$oauth = new OAuth($this->key, $this->secret, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_FORM);
if (isset($_SESSION['access_key']) && isset($_SESSION['access_secret'])) {
$oauth->setToken($_SESSION['access_key'], $_SESSION['access_secret']);
} else {
if (isset($_SESSION['request_key']) && isset($_SESSION['request_secret'])) {
$oauth->setToken($_SESSION['request_key'], $_SESSION['request_secret']);
}
}
return $oauth;
}
开发者ID:rdio,项目名称:rdio-php,代码行数:12,代码来源:rdio.php
示例17: call
/**
* Calls Vimeo methods:
* @see http://vimeo.com/api/docs/methods
*
* @param String $method = Vimeo method to be called
* @param Array $accessToken
* @param OAuth $oauth
* @param Array $params - additional parameters required for Vimeo method
* @return String Json string
*/
public static function call($method, $accessToken = null, OAuth $oauth, $params = array())
{
if ($accessToken) {
$oauth->setToken($accessToken['oauth_token'], $accessToken['oauth_token_secret']);
}
$resource = sprintf('%s?method=%s&format=json', 'http://vimeo.com/api/rest/v2/', $method);
if (count($params)) {
$resource = sprintf('%s&%s', $resource, http_build_query($params));
}
if ($oauth->fetch($resource)) {
return $oauth->getLastResponse();
}
}
开发者ID:nixilla,项目名称:sfCacophonyPlugin,代码行数:23,代码来源:sfCacophonyVimeoSound.class.php
示例18: call
function call($command)
{
session_start();
if (!isset($_GET['oauth_token']) && $_SESSION['state'] == 1) {
$_SESSION['state'] = 0;
}
try {
$oauth = new \OAuth($this->consumer_key, $this->consumer_secret, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
$oauth->enableDebug();
if (!isset($_GET['oauth_token']) && !$_SESSION['state']) {
$request_token_info = $oauth->getRequestToken($this->request_url);
$_SESSION['secret'] = $request_token_info['oauth_token_secret'];
$_SESSION['state'] = 1;
header('Location: ' . $this->authorize_url . '?oauth_token=' . $request_token_info['oauth_token']);
exit;
} else {
if ($_SESSION['state'] == 1) {
$oauth->setToken($_GET['oauth_token'], $_SESSION['secret']);
$access_token_info = $oauth->getAccessToken($this->access_token_url);
error_log("acc token info " . $access_token_info, 1, "[email protected]");
$_SESSION['state'] = 2;
$_SESSION['token'] = $access_token_info['oauth_token'];
$_SESSION['secret'] = $access_token_info['oauth_token_secret'];
}
}
$oauth->setToken($_SESSION['token'], $_SESSION['secret']);
$oauth->fetch("{$this->api_url}{$command}");
$json = json_decode($oauth->getLastResponse());
} catch (\OAuthException $E) {
return $E->lastResponse;
}
return $json;
}
开发者ID:rocketcloudsolutions,项目名称:rcsoauth,代码行数:33,代码来源:Base.php
示例19: twitter_post
function twitter_post($auth, $text, $short_url, $image = false)
{
global $globals;
if (empty($auth['twitter_token']) || empty($auth['twitter_token_secret']) || empty($auth['twitter_consumer_key']) || empty($auth['twitter_consumer_secret'])) {
return false;
}
if (!class_exists("OAuth")) {
syslog(LOG_NOTICE, "Meneame: pecl/oauth is not installed");
return;
}
if (!$auth['twitter_consumer_key'] || !$auth['twitter_consumer_secret'] || !$auth['twitter_token'] || !$auth['twitter_token_secret']) {
syslog(LOG_NOTICE, "Meneame: consumer_key, consumer_secret, token, or token_secret not defined");
return;
}
$req_url = 'https://api.twitter.com/oauth/request_token';
$acc_url = 'https://api.twitter.com/oauth/access_token';
$authurl = 'https://api.twitter.com/oauth/authorize';
$api_url = 'https://api.twitter.com/1.1/statuses/update.json';
$api_media_url = 'https://api.twitter.com/1.1/statuses/update_with_media.json';
$api_args = array("empty_param" => NULL);
$maxlen = 140 - 24;
// minus the url length
if ($image) {
$maxlen -= 24;
echo "Adding image: {$image}\n";
$api_args['@media[]'] = '@' . $image;
$url = $api_media_url;
} else {
$url = $api_url;
}
$msg = mb_substr(text_to_summary(html_entity_decode($text), $maxlen), 0, $maxlen);
$msg_full = $msg . ' ' . $short_url;
$api_args["status"] = $msg_full;
$oauth = new OAuth($auth['twitter_consumer_key'], $auth['twitter_consumer_secret'], OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);
$oauth->debug = 1;
$oauth->setRequestEngine(OAUTH_REQENGINE_CURL);
// For posting images
$oauth->setToken($auth['twitter_token'], $auth['twitter_token_secret']);
try {
$oauth->fetch($url, $api_args, OAUTH_HTTP_METHOD_POST, array("User-Agent" => "pecl/oauth"));
} catch (Exception $e) {
syslog(LOG_INFO, 'Menéame, Twitter caught exception: ' . $e->getMessage() . " in " . basename(__FILE__) . "\n");
echo "Twitter post failed: {$msg} " . mb_strlen($msg) . "\n";
return false;
}
// $response_info = $oauth->getLastResponseInfo();
// echo $oauth->getLastResponse() . "\n";
return true;
}
开发者ID:GallardoAlba,项目名称:Meneame,代码行数:49,代码来源:external_post.php
示例20: run
public function run()
{
$model = new OAuth();
//条件
$criteria = new CDbCriteria();
$apiname = trim(Yii::app()->request->getParam('apiname'));
$apiname && $criteria->addSearchCondition('apiname', $apiname);
$count = $model->count($criteria);
//分页
$pages = new CPagination($count);
$pages->pageSize = 10;
$pages->applyLimit($criteria);
$result = $model->findAll($criteria);
$this->controller->render('index', array('model' => $model, 'datalist' => $result, 'pagebar' => $pages));
}
开发者ID:jerrylsxu,项目名称:yiifcms,代码行数:15,代码来源:IndexAction.php
注:本文中的OAuth类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论