/** * {@link Mars_OAuthProvider} を実装したクラスのオブジェクトインスタンスを生成します。 * * @param string $provider 接続先の OAuth プロバイダ。Mars_OAuthProvider::PROVIDER_* 定数を指定。 * @return Mars_OAuthProvider Mars_OAuthProvider を実装したクラスのオブジェクトインスタンスを返します。 * @throws Mars_UnsupportedException サポートされていない OpenID プロバイダが指定された場合に発生。 * @author Naomichi Yamakita <*****@*****.**> */ public static function create($provider) { $instance = NULL; switch ($provider) { case self::PROVIDER_TWITTER: $instance = Mars_TwitterOAuthProvider::getInstance(); break; case self::PROVIDER_FACEBOOK: $instance = Mars_FacebookOAuthProvider::getInstance(); break; case self::PROVIDER_MIXI_2LEGGED: $instance = Mars_Mixi2LeggedOAuthProvider::getInstance(); break; case self::PROVIDER_MIXI_3LEGGED: $instance = Mars_Mixi3LeggedOAuthProvider::getInstance(); break; default: $message = sprintf('The specified provider is not supported. [%s]', $provider); throw new Mars_UnsupportedException($message); } return $instance; }
/** * userId のプロフィール URI を取得します。 * * @param string $userId 対象とするユーザ ID。urn:guid 、または guid 形式で指定可能。 * @return string userId のプロフィール URI を返します。 * @author Naomichi Yamakita <*****@*****.**> */ public static function getProfileURI($userId) { return self::BASE_URI . 'show_friend.pl?id=' . Mars_Mixi2LeggedOAuthProvider::getId($userId); }