PHPackages                             tehrancode/yahoo-api-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. tehrancode/yahoo-api-bundle

ActiveSymfony-bundle[API Development](/categories/api)

tehrancode/yahoo-api-bundle
===========================

This Bundle is a wrapper around alexandreeffetb/yos-social-php5 for yahoo php SDK

1.0.0(10y ago)10MITPHPPHP &gt;=5.3.2

Since Oct 29Pushed 10y ago1 watchersCompare

[ Source](https://github.com/TehranCode/YahooApiBundle)[ Packagist](https://packagist.org/packages/tehrancode/yahoo-api-bundle)[ Docs](https://github.com/TehranCode/YahooApiBundle)[ RSS](/packages/tehrancode-yahoo-api-bundle/feed)WikiDiscussions master Synced today

READMEChangelog (1)Dependencies (4)Versions (2)Used By (0)

YahooApiBundle
==============

[](#yahooapibundle)

Symfony2 Yahoo OAuth + OpenID This Bundle is a wrapper around [alexandreeffetb/yos-social-php5](https://github.com/alexandreeffetb/yos-social-php5)

Progress Sheet
==============

[](#progress-sheet)

1. This is under construction so Don't use it or at least Debug it first!
2. Yahoo does answer OAuth requests from Localhost but It doesn't answer OAuth+OpenID requests
3. [alexandreeffetb/yos-social-php5](https://github.com/alexandreeffetb/yos-social-php5) uses:

```
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
```

in the `alexandreeffetb\yos-social-php5\lib\Yahoo\YahooCurl.php` line 112 and some of shared servers have problem with this!so you should comment it probably or ...

Requirements
============

[](#requirements)

[alexandreeffetb/yos-social-php5](https://github.com/alexandreeffetb/yos-social-php5)

Installation
============

[](#installation)

### Use Composer to get the repository

[](#use-composer-to-get-the-repository)

first go to [alexandreeffetb/yos-social-php5](https://github.com/alexandreeffetb/yos-social-php5) and install it!

```
$ composer require TehranCode/YahooApiBundle

```

### Setting up the bundle

[](#setting-up-the-bundle)

A) Enable the bundles in the kernel:

```
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new TehranCode\YahooApiBundle\TehranCodeYahooApiBundle(),
    );
}
```

B) Configure the TehranCodeYahooApiBundle

```
// app/config/config.yml

tehran_code_yahoo_api:
    application_id:       %Your_Application_ID%
    consumer_key:         %Your_Application_consumer_key%
    consumer_secret:      %Your_Application_consumer_secret%
    callback_url:         %Your_Application_callback_url%
```

How to Use Bundle
=================

[](#how-to-use-bundle)

### OAuth sample for profile and contacts

[](#oauth-sample-for-profile-and-contacts)

use the 'TehranCode.Yahoo.OAuth.Application' service to make the URL

```
	$YahooService = $this->get('TehranCode.Yahoo.OAuth.Application');
	$callback = %Your_Application_callback_url%;
	# Fetch request token
	$request_token = $YahooService->getRequestToken($callback);

	$session = $request->getSession();
	$session->set('request_token_key', $request_token->key);
	$session->set('request_token_secret', $request_token->secret);

	# Redirect user to authorization URL
	$redirect_url  = $YahooService->getAuthorizationUrl($request_token);
```

when user click above URL goes to yahoo and callback to route function:

```
	$YahooService = $this->get('TehranCode.Yahoo.OAuth.Application');

	$session = $request->getSession();
	$request_token = new \OAuthToken($session->get('request_token_key'), $session->get('request_token_secret'));

	# Exchange request token for authorized access token
	$access_token  = $YahooService->getAccessToken($request_token, $_REQUEST['oauth_verifier']);

	# update access token
	$YahooService->setAccessToken($access_token);

	# fetch user profile
	$Profile = $YahooService->getProfile();
	# fetch user Contacts
	$Contacts = $YahooService->getContacts();

	var_dump($Profile);
	var_dump($Contacts);
```

### OAuth + OpenID sample for profile and contacts

[](#oauth--openid-sample-for-profile-and-contacts)

yahoo does not return user email with simple OAuth and you need to use OAuth + OpenID to get it use the 'TehranCode.Yahoo.OAuth.Application' service to make the URL

```
	$YahooService = $this->get('TehranCode.Yahoo.OAuth.Application');
	$callback = %Your_Application_callback_url%;
	$OpenIDUrl = $YahooService->getOpenIDUrl($callback);
```

callback route function:

```
	if(isset($_REQUEST['openid_mode']))
	{
		$YahooService = $this->get('TehranCode.Yahoo.OAuth.Application');
		if($_REQUEST['openid_mode'] == 'id_res')
		{
			// validate claimed open id
			// extract approved request token from open id response
			$request_token = new \YahooOAuthRequestToken($_REQUEST['openid_oauth_request_token'], '');
			// exchange request token for access token
			$access_token = $YahooService->getAccessToken($request_token);
			$YahooService->setAccessToken($access_token);
			$Contacts = $YahooService->getContacts();
			$Profile = $YahooService->getProfile();
			//You can access OpenID response
			var_dump($_REQUEST['openid_ax_value_email']);
			var_dump($_REQUEST['openid_ax_value_language']);
			//You can also access OAuth response
			var_dump($Contacts);
			var_dump($Profile);
			//...
		}
	}
```

###  Health Score

24

—

LowBetter than 31% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity2

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

3899d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0510d2a729f6a5d524a935059912e54c031adde065d9869e6ac1188724dc71b2?d=identicon)[Kharestani](/maintainers/Kharestani)

---

Top Contributors

[![Kharestani](https://avatars.githubusercontent.com/u/5319248?v=4)](https://github.com/Kharestani "Kharestani (18 commits)")

---

Tags

forumcommentthreads

### Embed Badge

![Health badge](/badges/tehrancode-yahoo-api-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/tehrancode-yahoo-api-bundle/health.svg)](https://phpackages.com/packages/tehrancode-yahoo-api-bundle)
```

###  Alternatives

[rcsofttech/audit-trail-bundle

Enterprise-grade, high-performance Symfony audit trail bundle. Automatically track Doctrine entity changes with split-phase architecture, multiple transports (HTTP, Queue, Doctrine), and sensitive data masking.

1189.8k](/packages/rcsofttech-audit-trail-bundle)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.5k5.9M736](/packages/sylius-sylius)[kimai/kimai

Kimai - Time Tracking

4.8k9.0k1](/packages/kimai-kimai)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.6M574](/packages/shopware-core)[2lenet/crudit-bundle

The easy like Crud'it Bundle.

1616.4k14](/packages/2lenet-crudit-bundle)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9421.6k61](/packages/open-dxp-opendxp)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
