Pregunta

Estoy usando estos complementos de LinkedIn para CakePHP 2.0.4: https://github.com/proloser/cakephp-linkedin

Configuro todo para que funcione bien con el inicio de sesión y obtenga perfiles del usuario como el nombre del primer, apellido, ... usando esta sintaxis: $ this-> linkedIn-> find ("all", ...). Renuncié al nombre predeterminado, "LinkedIn", de LinkedIn DataSource a "LinkedIneSource", por lo tanto, puedo llamar a mi modelo "LinkedIn" solo para mi conveniencia.

Seguí el archivo /Plugin/linkedin/model/linkedinmessage.php Para crear esta función en mi modelo LinkedIn:

function updateStatus($message) {
    $request = $this->request;
    $request['uri']['path'] = 'people/~/shares';
    $this->request = $request;
    //Above 3 lines are used to bypass the error "changing value of overloaded object property has no effect if I use $this->request["uri"]["path"] = "..."

    $data = array(
        'comment' => $message
        , 'visibility' => array('code' => 'anyone')
    );
    //Above settings follow this: https://developer.linkedin.com/documents/share-api

    $saved = $this->save($data);
}

Cuando ejecuto el código anterior usando mi propia cuenta de LinkedIn (conectado y autorizado), el valor de $ guardado es solo CIERTO Pero no se publica ningún estado/compartir en mi cuenta de LinkedIn cuando abro mi cuenta en un navegador (Google Chrome)

Traté de cambiar el camino de Uri a

    $request['uri']['path'] = 'people/~/person-activities';

y solicitar datos a:

    $data = array(
        'content-type' => "linkedin-html"
        , 'body' => $message
    );

como en https://developer.linkedin.com/documents/post-network-update Pero aún no hay mejor resultado.

También cambio estas líneas en /Plugin/linkedin/config/linkedinsource.php:

$config['Apis']['LinkedinSource']['write'] = array(
    // http://developer.linkedin.com/docs/DOC-1044
    'mailbox' => array(
        'people/~/mailbox' => array(
            'subject',
            'body',
            'recipients',
        ),
    ),
);

a

$config['Apis']['LinkedinSource']['write'] = array(
    // http://developer.linkedin.com/docs/DOC-1044
    'mailbox' => array(
        'people/~/mailbox' => array(
            'subject',
            'body',
            'recipients',
        ),
    ),
    //https://developer.linkedin.com/documents/share-api
    'shares' => array(
        'people/~/shares' => array(
            'comment',
            'content',
            'visibility',
        ),
    ),
);

Pero aún no hay mejor resultado.

Solo se nota que agregué estas líneas en /Plugin/linkedin/model/linkedinmessage.php

    public $startQuote;
    public $endQuote;

Para evitar estos errores:

Undefined property: LinkedinSource::$startQuote [CORE/Cake/Model/Model.php, line 1269]
Undefined property: LinkedinSource::$endQuote [CORE/Cake/Model/Model.php, line 1269]

No sé si eso puede causar mi problema o no, pero quiero enumerar todos los detalles aquí.

Por favor, ayude cuando pasé casi un día para que esto funcione, pero aún no puedo :(

¿Fue útil?

Solución

Encontré el problema! los Tipo de contenido Debe ser Aplicación/JSON ¡para que funcione! Pensé X-Li-formato: JSON es suficiente pero no lo es.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top