Autopost pin pinterest

时间:2015-02-02 11:59:22

标签: php

我正在使用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.

如何解决这个问题?感谢

2 个答案:

答案 0 :(得分:0)

您需要在登录时重新加载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.');
        }

答案 1 :(得分:0)

现在在nginx服务器上工作正常,它在Apache服务器中不起作用