我尝试使用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;
}
- 进行身份验证请求
醇>最后,一旦您拥有访问令牌,您就可以进行授权 代表用户使用提供的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}
答案 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得到了通知并正在研究它我相信。