Php 如何从web API禁用松弛通道?

Php 如何从web API禁用松弛通道?,php,slack-api,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_setop

我试图通过调用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);
以下是它的工作原理

您需要传递要使用
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);

这不是官方的松弛AP方法。你收到“未知方法”错误了吗?没有。我得到了一堆我的用户信息。它包括静音的_频道<代码>静音通道“:“Foo,Bar”
是的,你是对的。你找到了另一个未记录的API方法,很好!我也尝试过,但也无法让它工作。可能设置“静音通道”不受支持。我在其他方法上也有同样的效果,只有一些参数可以设置。我正在记录“未记录的API方法”github上的SlackAPI方法,并添加了“users.pref.get”变体。如果您想添加,请查看。