私はSymfony3を初めて使用していて、api接続を学習しようとしています。Symfony3のparameters.ymlからパラメータを取得する
endroid_twitterバンドルをそのまま使用します。
私はparameters.ymlにtwitterのapiキーをコピーしましたが、DefaultController.phpでこのキーを使用しようとすると間違ってしまい、キーを取得できません。ここ
: "未定義の変数"
$twitter = new Twitter($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret);
parameters.yml
parameters:
database_host: 127.0.0.1
database_port: null
database_name: api
database_user: root
database_password: null
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
secret: ThisTokenIsNotSoSecretChangeIt
endroid_twitter:
consumer_key: 'consumer_key'
consumer_secret: 'consumer_secret'
access_token: 'access_token'
access_token_secret: 'access_token_secret'
DefaultController.phpあなたは新しいを作成するには、別の宣言をする必要があり
<?php
namespace AppBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Endroid\Twitter\Twitter;
class DefaultController extends Controller
{
/**
* @Route("/", name="homepage")
*/
public function indexAction(Request $request)
{
$twitter = new Twitter($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret);
$response = $twitter->query('/statuses/user_timeline', 'GET', 'json', $parameters);
$tweets = json_decode($response->getContent());
$text = $tweets[5]->text;
print_r($text);
return $this->render('default/index.html.twig');
}
}
スクロール:これに代えて
:
はこれを試してみてください。基本的なアプローチは少し異なります:https://packagist.org/packages/endroid/twitter – Cerad