Я использую этот плагин LinkedIn для CakePHP 2.0.4: https://github.com/ProLoser/CakePHP-LinkedIn
Я настроил все, чтобы нормально работать с логином и получать профили пользователей, такие как имя, фамилия, ..., используя следующий синтаксис: $ this-> Linkedin-> find ("all", ...). Я переименовал имя по умолчанию «Linkedin» источника данных Linkedin в «LinkedinSource», поэтому я могу назвать свою модель «Linkedin» только для моего удобства.
Я добавил файл / Plugin / Linkedin / Model / LinkedinMessage.php , чтобы создать эту функцию в моей модели 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);
}
Когда я запускаю приведенный выше код, используя мою собственную учетную запись LinkedIn (подключен и авторизован), значение $ Saved равно TRUE , но НИКАКОЙ статус / доля не присваивается моей учетной записи LinkedIn, когда я открываю свою учетную запись в браузер (Google Chrome)
Я пытался изменить путь URI на
$request['uri']['path'] = 'people/~/person-activities';
и запросить данные по адресу:
$data = array(
'content-type' => "linkedin-html"
, 'body' => $message
);
как и в https://developer.linkedin.com/documents/post-network-update, но все равно лучшего результата нет.
Я также изменяю эти строки в / 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',
),
),
);
до
$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',
),
),
);
но лучшего результата пока нет.
Только заметьте, я добавил эти строки в / Plugin / Linkedin / Model / LinkedinMessage.php
public $startQuote;
public $endQuote;
чтобы избежать этих ошибок:
Undefined property: LinkedinSource::$startQuote [CORE/Cake/Model/Model.php, line 1269]
Undefined property: LinkedinSource::$endQuote [CORE/Cake/Model/Model.php, line 1269]
Я не знаю, может ли это вызвать мою проблему или нет, но я хочу перечислить все детали здесь.
Пожалуйста, помогите, поскольку я потратил почти один день, чтобы сделать эту работу, но все еще не могу: (