API キーは「グローバル」アクセス権を持ち、「全ユーザー」に対して有効です。
以下を実行しています。
$updateAvatarUrl = sprintf("%s/u/%s/preferences/avatar/pick.json", $this->apiHost, $username);
$headers = array(
"Api-Key: ".$this->apiKey,
"Api-Username: ".$this->apiUsername
);
$data = array(
'upload_id' => $uploadId,
'type' => 'uploaded'
);
$response = Q_Utils::put($updateAvatarUrl, $data, null, null, $headers);
しかし、返ってくる結果は以下の通りです。
{"failed":"FAILED"}
application/json として送信することも試しました。以下は完全なCURL情報です。
$url = 'https://community.intercoin.app/u/fdhsjkgfs_dghjkl';
Headers:
0:
"Host: community.intercoin.app"
1:
"User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
2:
"Content-Type: application/x-www-form-urlencoded"
3:
"Content-Length: 28"
4:
"Api-Key: 3cf975095fd50e22e3631dc916c6d2c7694419ed421338dd7bba432ba1e71417"
5:
"Api-Username: system"
body:
upload_id=2159&type=uploaded
Profile - fdhsjkgfs_dghjkl - Intercoin は存在することを確認できます。
アップロードIDも確かに存在します。アップロード後に取得したものは以下の通りです。
{
"id": 2159,
"url": "https://community.intercoin.app/uploads/intercoin/original/2X/c/ce6121fe1571faa6c41ad28afdf6c30939ffbc56.png",
"original_filename": "400.png",
"filesize": 20636,
"width": 360,
"height": 360,
"thumbnail_width": 360,
"thumbnail_height": 360,
"extension": "png",
"short_url": "upload://trIsPeqspDPRwbMsOnjtDCBBMwK.png",
"short_path": "/uploads/short-url/trIsPeqspDPRwbMsOnjtDCBBMwK.png",
"retain_hours": null,
"human_filesize": "20.2 KB"
}
では、問題は何でしょうか? ドキュメントに従ったのですが…
