Как заменить aweber oauth api 1.0 на oauth 2.0 - PullRequest
0 голосов
/ 24 апреля 2020

Один из моих веб-сайтов использует устаревший API Aweber (https://github.com/aweber/AWeber-API-PHP-Library), ранее он работал нормально, но остановился, реализация этого API была выполнена другим разработчиком, теперь этот веб-сайт обрабатывается я и я никогда не работали с Aweber, может кто-нибудь помочь мне заменить OAuth 1.0 на OAuth 2.0.

ошибка, которую получают пользователи после регистрации:

error

это контроллер регистра YII, который отправляет приветственные письма

 if ($model->load(\Yii::$app->request->post()) && $model->register()) {
       $this->trigger(self::EVENT_AFTER_REGISTER, $event);

        $consumerKey    = 'XXXXXXXXXXXXXXXXXXXXXXXX';
        $consumerSecret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXX';

        $accessKey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
        $accessSecret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
        $list_id = '3857937';
            $aweber = new \AWeberAPI($consumerKey, $consumerSecret);
        try {
            $account = $aweber->getAccount($accessKey, $accessSecret);
            $account_id = $account->id;              
            $listURL = "/accounts/{$account_id}/lists/{$list_id}";
            $list = $account->loadFromUrl($listURL);

            $params = array(
                'email' => $model->email,
                'ad_tracking' => 'My_Web_Form_3',
                'name' => $model->username
            );

            $subscribers = $list->subscribers;
            $new_subscriber = $subscribers->create($params);

        } catch(AWeberAPIException $exc) {

        }           
        return $this->render('message', [
            'title'  => \Yii::t('user', 'Your account has been created'),
            'module' => $this->module,
        ]);
    }

    return $this->render('register_w', [
        'model'  => $model,
        'module' => $this->module,
    ]);
}
...