松弛。如何使用PHP在url_private属性中下载图像?

时间:2017-04-10 17:20:11

标签: php slack-api slack

我正在尝试从Slack下载png图像并将其保存到文件中,但保存到文件中的唯一内容是Slack登录页面的HTML代码。

这就是我的尝试。

$url = 'https://files.slack.com/files-pri/XXXXXX-XXXXXXX/download/2016-07-11.png';
$ch = curl_init($url);
$fp = fopen('/assets/tmp/1.png', 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                'Authorization: Bearer xoxp-XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXXXXXXX'
            ));
curl_exec($ch);
curl_close($ch);
fclose($fp);

如果我在登录Slack时访问浏览器中的链接,则图像下载得很好,但不能通过PHP代码。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

我需要一个额外的权限范围来读取文件。我添加了文件:从Slack Developer Console读取我的应用程序的权限范围,代码按预期工作。