Yahoo php sdk getContacts () funciona de forma intermitente

Estoy usando elYahoo! SDK social para permitir que un usuario autorice y luego obtenga una lista de sus contactos. He configurado la aplicación para permitir que se lean los datos de contacto y esto se verifica cuando se autentica.

La autenticación funciona porque puedo usar el perfilgetProfile() en cada carga de página. losgetContacts() es el problema, ya que el 95% de las veces devuelve falso que no es correcto.

¿Estoy haciendo algo mal con los tokens de solicitud que significagetContacts() ¿No tiene el permiso correcto para ejecutarse correctamente o Yahoo tiene algún tipo de problema de almacenamiento en caché extraño con esta consulta? Es aún más difícil con la clara falta de documentación de ellos con respecto a su api y php, ¿hay otra biblioteca nueva que pueda usar para lograr esto? Sé que es posible porque puedo usar una versión funcional en la página web "AirBnb Invite a friend".

Este es el código que estoy usando, está escrito usando CodeIgniter, así que eso explica la sintaxis.

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");
    }
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta