如何从Web API静音松弛通道?

时间:2016-05-28 18:24:43

标签: php slack-api

我尝试通过调用Slack API来静音松弛通道。

<?php
    $url = "https://slack.com/api/users.prefs.set";

    $POST_DATA = array(
        'token' => SLACK_TOKEN,
        'muted_channels' => TARGET_CHANNEL_ID,
    );

    $curl=curl_init($url);

    curl_setopt($curl,CURLOPT_POST, TRUE);
    curl_setopt($curl,CURLOPT_POSTFIELDS, http_build_query($POST_DATA));
    curl_setopt($curl,CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl,CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($curl,CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($curl,CURLOPT_FOLLOWLOCATION, TRUE);

    $output= curl_exec($curl);

    print_r($output);

但是,它不起作用。

1 个答案:

答案 0 :(得分:0)

这是它的工作方式。

您需要传递一个使用prefs属性设置的首选项的JSON数组。

<?php
    $url = "https://slack.com/api/users.prefs.set";

    $POST_DATA = array(
        'token' => SLACK_TOKEN,
        'prefs' => json_encode(array('muted_channels' => TARGET_CHANNEL_ID)),
    );

    $curl=curl_init($url);

    curl_setopt($curl,CURLOPT_POST, TRUE);
    curl_setopt($curl,CURLOPT_POSTFIELDS, http_build_query($POST_DATA));
    curl_setopt($curl,CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl,CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($curl,CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($curl,CURLOPT_FOLLOWLOCATION, TRUE);

    $output= curl_exec($curl);

    print_r($output);

我还向users.prefs.set添加了github的文档。