Php 带post数据的symfony2测试客户端请求
我想在symfony webapp上使用facebook测试登录,我已经创建了一个测试用户并请求该用户的访问令牌,我想发送以下post请求:Php 带post数据的symfony2测试客户端请求,php,facebook,symfony,facebook-php-sdk,Php,Facebook,Symfony,Facebook Php Sdk,我想在symfony webapp上使用facebook测试登录,我已经创建了一个测试用户并请求该用户的访问令牌,我想发送以下post请求: public function setup() { $this->access_token = 'CAAL0aG1XXXXXX...'; $this->email = 'test....@tfbnw.net'; $this->uid = '105.......'; $this->formData =j
public function setup()
{
$this->access_token = 'CAAL0aG1XXXXXX...';
$this->email = 'test....@tfbnw.net';
$this->uid = '105.......';
$this->formData =json_encode(
array(
'authResponse' => array(
'access_token' => $this->access_token,
'expiresIn' => 5418,
'userID' => $this->uid
),
'status' => 'connected'));
}
public function testFacebookConnection()
{
$client = static::createClient();
// Submit a raw JSON string in the request body
$client->request(
'POST',
$client->getContainer()->get('router')->generate('oauth_connect'),
array(),
array(),
array('CONTENT_TYPE' => 'application/json'),
'{ "service":"facebook","authentication" : "'. $this->formData.'"}'
);
die(var_dump($client->getResponse()->getContent()));
}
和下面的调用URI方法符号
/**
* Calls a URI.
*
* @param string $method The request method
* @param string $uri The URI to fetch
* @param array $parameters The Request parameters
* @param array $files The files
* @param array $server The server parameters (HTTP headers are referenced with a HTTP_ prefix as PHP does)
* @param string $content The raw body data
* @param bool $changeHistory Whether to update the history or not (only used internally for back(), forward(), and reload())
*
* @return Crawler
*/
public function request($method, $uri, array $parameters = array(), array $files = array(), array $server = array(), $content = null, $changeHistory = true)
{
您应该在方法符号后面的第三个参数中使用post参数:
$this->postData =
array(
'service' => 'facebook',
'authentication'=> $this->formData,
);
您可以按如下方式调用方法:
$client->request(
'POST',
$client->getContainer()->get('router')->generate('oauth_connect'),
$this->postData,
array(),
array('CONTENT_TYPE' => 'application/json')
);
非常感谢你!