我正在使用PinterestPinner发布一个图钉。
我的代码是
$pinterest = new PinterestPinner($username, $password);
$result = $pinterest->pin(array(
'board' => $boardId,
'image' => $image,
'description' => $description,
'link' => $url,
));
if (false === $result) {
echo 'Error: ' . $pinterest->getError();
} else {
echo 'Pin Created, ID: ' . $pinterest->getPinID();
}
我收到错误,
Error: Error getting CSRFToken.
如何解决这个问题?谢谢
您需要在登录时重新加载 CSRF 令牌。这个问题在 https://github.com/dzafel/pinterest-pinner/blob/master/PinterestPinner.php 上解决了
/**
* Get Pinterest CSRF Token.
*
* @return string
* @throws PinterestPinnerException
*/
private function _getCSRFToken()
{
if ($this->_csrftoken) {
return $this->_csrftoken;
}
if (!$this->_content) {
$this->_getContent(self::PINTEREST_URL . self::PINTEREST_LOGIN_PATH);
}
preg_match('/csrftoken=(.*)['b;'s]/isU', $this->_content, $match);
if (isset($match[1]) and $match[1]) {
$this->_csrftoken = $match[1];
return $this->_csrftoken;
}
throw new PinterestPinnerException('Error getting CSRFToken.');
}
现在在nginx服务器中工作正常,但在Apache服务器中不起作用