Codeigniter Youtube Data Api от Джима Сандерса - PullRequest
0 голосов
/ 07 декабря 2011

У меня есть мой потребительский ключ и потребительский секрет, а также ключ API YouTube в моем файле конфигурации, например:

$config['youtube_api_key'] = my api key;
$config['google_consumer_key'] = my consumer key;
$config['google_consumer_secret'] = my consumer secret;

У меня есть контроллер с именем youtube_api (сделан из example.php из jim), и я попытался вызвать публичную функцию:

public function youtube_no_auth()
    {
        $params['apikey'] = $this->config->item('youtube_api_key');
        $this->load->library('youtube', $params);
        echo $this->youtube->getKeywordVideoFeed('pac man');
    }

У меня следующие проблемы:

  1. $this->config->item не работает, я получаю следующую ошибку:

    • Вызов функции-члена () для необъекта
    • Я решил это с помощью config_item ('youtube_api_key');
  2. $this->load->library('youtube', $params) выдал следующую ошибку:

    • Вызов библиотеки функций-членов () для необъекта

Я думал, что есть проблема с областью действия, поэтому я сделал это $CI =& get_instance() и $CI->load->library, но это тоже не сработало ...

Кто-нибудь, пожалуйста, укажите мне правильное направление? Я отчасти заблудился с этой проблемой. Я искал ответ все выше и ниже, но не смог его найти ...

Ответы [ 2 ]

3 голосов
/ 09 декабря 2011

Проблема заключалась в том, что примерному конструктору нужна эта строка вверху

parent::__construct 

Это должно устранить проблемы, которые у вас возникли.Таким образом, ваш конструктор должен выглядеть следующим образом:

public function __construct()
{
    parent::__construct();
    $this->load->library('session');
}

Нет необходимости хранить CodeIgniter в закрытой переменной.Просто используйте конструктор как схему в документации CodeIgniter.

Я обновил репозиторий GIT, чтобы исправить эту проблему.

0 голосов
/ 09 декабря 2011

У меня была очень похожая проблема, вы должны настроить ее как объект в вашей _construct следующим образом:

class Example extends CI_Controller
{
  private $CI;
  public function __construct()
{
 parent::__construct();

$this->CI =& get_instance();
$this->CI->load->library('session');

$oauth = array();
$oauth['oauth_token_secret']='';
$oauth['oauth_token']='';

}

см. Здесь очень похожую тему:

Запрос API YouTube: Как получить токен Right (о коде Джима С.)

и

Google Oauth для YouTube: почему я получаю "Неопределенный индекс: oauth_token" (код Джима С.)

дайте мне знать, если это решило ваш пб

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...