Pinterest API无法按预期工作

时间:2015-09-28 12:29:16

标签: php api curl pinterest

我尝试使用PHP使用Pinterest API,但到目前为止它并没有真正起作用。 我使用本指南开始:

https://developers.pinterest.com/docs/api/authentication/

除了第3步,我现在一切正常。 文档说它只是一个简单的请求

protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DataTable dtSource = new DataTable(); dtSource.Columns.Add("DateTime"); dtSource.Columns.Add("Detail"); dtSource.Columns.Add("Status"); dtSource.Columns.Add("Cancel"); ViewState["dtSource"] = dtSource; gridItem.DataSource = dtSource; gridItem.DataBind(); } } protected void btnAdd(object sender, EventArgs e) { DataTable dtSource = ViewState["dtSource"] as DataTable; DataRow dr = dtSource.NewRow(); dtSource.Rows.Add(DateTime.Now, itemDetail, "", ""); gridItem.DataSource = dtSource; gridItem.DataBind(); ViewState["dtSource"] = dtSource; }

  
      
  1. 进行身份验证请求
  2.         

    最后,一旦您拥有访问令牌,您就可以进行授权   代表用户使用提供的OAuth 2.0承载令牌的请求   通过授权请求标头或通过名为的请求参数   access_token(作为表单编码的body参数提供或者   URI查询参数)。优先使用Authorization标头。

         

    例如,您可以在浏览器上访问此网站:

         

    https://api.pinterest.com/v1/me/?access_token= A   样本响应可能如下所示:

         

    {       "数据":{           " url":" https://www.pinterest.com/ben/",           " first_name":" Ben",           " last_name":" Silbermann",           " id":" 4788400174839062"       }}

我有一个access_token,如下所示:

https://api.pinterest.com/v1/me/?access_token=<YOUR-ACCESS-TOKEN>

但每次我收到此消息:

AcFFayZKwqXuKVkj1J-0QN1fCob1FAgjuP9-OtFCg_j49UAgogXXXXX

我使用此PHP代码从URL获取数据:

{"status": "failure", "code": 3, "host": "coreapp-devplatform-devapi-181", "generated_at": "Mon, 28 Sep 2015 12:28:38 +0000", "message": "Authorization failed.", "data": null}

2 个答案:

答案 0 :(得分:2)

我刚刚经历了同样的错误,但对于不同的端点。试试这段代码

        $ch = curl_init();

        $url = "https://api.pinterest.com/v1/me/?access_token='YOUR_ACCESS_TOKEN'";

        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_HTTPGET, TRUE);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_TIMEOUT, 10);
        $result = trim(curl_exec($ch));
        curl_close($ch);

        print_r($result);  

答案 1 :(得分:0)

请查看this discussion。它涵盖了您描述的完全相同的问题。据我所知,这似乎是Pinterest方面的一个问题。来自Pinterest的开发团队的@ZackArgyle得到了通知并正在研究它我相信。