Symfony 在oauth中获取twitter屏幕名
我正在和你一起申请 在这个类中,我可以检索twitter ID和访问令牌,但我不确定如何获取屏幕名称:Symfony 在oauth中获取twitter屏幕名,symfony,oauth,twitter-oauth,Symfony,Oauth,Twitter Oauth,我正在和你一起申请 在这个类中,我可以检索twitter ID和访问令牌,但我不确定如何获取屏幕名称: use HWI\Bundle\OAuthBundle\OAuth\Response\UserResponseInterface; use HWI\Bundle\OAuthBundle\Security\Core\User\FOSUBUserProvider as BaseClass; use Symfony\Component\Security\Core\User\UserInterface;
use HWI\Bundle\OAuthBundle\OAuth\Response\UserResponseInterface;
use HWI\Bundle\OAuthBundle\Security\Core\User\FOSUBUserProvider as BaseClass;
use Symfony\Component\Security\Core\User\UserInterface;
class FOSUBUserProvider extends BaseClass
{
/**
* {@inheritDoc}
*/
public function connect(UserInterface $user, UserResponseInterface $response)
{
$property = $this->getProperty($response);
$service = $response->getResourceOwner()->getName(); // I can get service name
$username = $response->getUsername();//I can get username
$accesstoken = $response->getAccessToken(); //I can get access token
$screen_name = $response->getScreenName(); // error,how can I get screen name?????
如何获取twitter屏幕名?我不知道您是否已经解决了问题,但解决方案是:您可以通过检查供应商/hwi/oauth bundle/hwi\bundle\OAuthBundle\oauth\ResourceOwner,然后查找资源所有者文件来访问屏幕名。您可以在名为$PATH的类的开头看到一个数组。您所要做的就是使用该键访问所需的值 对于twitter,您可以看到以下内容:
protected $paths = array(
'identifier' => 'id_str',
'nickname' => 'screen_name',
'realname' => 'name',
);
你所要做的就是使用它
$response->getNickName();
那么,假设您想保存用户名,您可以这样写:
$user->setUsername($response->getNickName());
瞧 假设有这样一个函数,我想应该是getScreenName。你错过了一个n。谢谢@kapep,我试过getScreenName和getScreenName,但都没有成功。