Yahoo php sdk getContacts () периодически работает

Я используюYahoo! Социальный SDK чтобы позволить пользователю авторизоваться, а затем получить список своих контактов. Я настроил приложение, чтобы разрешить чтение контактных данных, и это проверяется при аутентификации.

Аутентификация работает, потому что я могу использовать профильgetProfile() на каждой странице загрузки.getContacts() это проблема, хотя в 95% случаев он возвращает ложь, что не правильно.

Что-то не так с токенами запроса?getContacts() не имеет правильного разрешения на успешную работу или Yahoo имеет какую-то странную проблему с кешированием с этим запросом? Еще сложнее с явным отсутствием у них документации относительно их API и PHP. Есть ли еще одна новая библиотека, которую я могу использовать для достижения этой цели? Я знаю, что это возможно, потому что я могу использовать рабочую версию на веб-странице "AirBnb Пригласить друга".

Это код, который я использую, он написан с использованием CodeIgniter, так что объясняет синтаксис.

public function yahoo() {

    $oauthapp = new YahooOAuthApplication(DEV_OAUTH_CONSUMER_KEY, DEV_OAUTH_CONSUMER_SECRET, DEV_OAUTH_APP_ID, DEV_OAUTH_DOMAIN);

    if($this->session->userdata('yahoo_oauth_access_token')){

        $oauthapp->token = YahooOAuthAccessToken::from_string($this->session->userdata('yahoo_oauth_access_token'));

        $profile = $oauthapp->getProfile();
        $contacts = $oauthapp->getContacts(0, 1000);

        if($profile)
           print_r($profile);
        else
            echo "No profile / error";

        if($contacts)
           print_r($contacts);
        else
            echo "No contacts / error";

    }
    elseif(!$this->input->get()) {

        $request_token = $oauthapp->getRequestToken(DEV_OAUTH_DOMAIN);
        $this->session->set_userdata('request_token', json_encode($request_token));
        $redirect_url = $oauthapp->getAuthorizationUrl($request_token);

        redirect($redirect_url);
    }
    else {

        $request_token = json_decode($this->session->userdata('request_token'));
        $oauthapp->token = $oauthapp->getAccessToken($request_token, $this->input->get('oauth_verifier'));

        $this->session->set_userdata('yahoo_oauth_access_token', $oauthapp->token->to_string());

        redirect("/index/yahoo");
    }
}

Ответы на вопрос(1)

Ваш ответ на вопрос