Задать вопрос
  • Как опубликовать сообщение в группе с помощью API?

    @Alsid_It
    Программист php, javaScript
    Приведенные примеры мне не помогли)

    Смог добавить пост в конкретную группу через данный код
    //title: CBlogPost ADD 3
    \Bitrix\Main\Loader::includeModule('blog');
    $userId = 980;
    $groupId = 165;
    global $APPLICATION;
    $arBlog = CBlog::GetList(array(), array('OWNER_ID'=>$userId))->Fetch();
    
    $arFields = array(
        "TITLE" => 'Сообщение для теста 2',
        "DETAIL_TEXT" => 'работает, работает!',
        "DETAIL_TEXT_TYPE" => 'text',
        "DATE_PUBLISH" => (new DateTime())->format('d.m.Y H:m:s'),
        "PUBLISH_STATUS" => 'P',
        "CATEGORY_ID" => '',
        "PATH" => '/company/personal/user/'.$userId.'/blog/#post_id#/',
        "URL" => 'u'.$userId.'-blog-s1',
        "PERMS_POST" => array(),
        "PERMS_COMMENT" => array(),
        "MICRO" => 'N',
        "SOCNET_RIGHTS" => array('SG'.$groupId),
        //"SOCNET_RIGHTS" => array('SG'.$groupId, 'U732'),
        "=DATE_CREATE" => 'now()',
        "AUTHOR_ID" => $userId,
        "BLOG_ID" => $arBlog['ID'],
    );
    
    $newID = CBlogPost::Add($arFields);
    
    if(IntVal($newID)>0)
    {
        $arFields["ID"] = $newID;
        $arParamsNotify = array(
            "bSoNet"=>true,
            'UserID'=>$userId,
            'user_id'=>$userId,
            'SOCNET_GROUP_ID'=>$groupId,
            'PATH_TO_POST'=>'/company/personal/user/#user_id#/blog/#post_id#/'
        );
        $notify = CBlogPost::Notify($arFields, $arBlog, $arParamsNotify);
        echo "Новое сообщение [".$newID."] добавлено. ".$notify;
    }
    else
    {
        if ($ex = $APPLICATION->GetException())
            echo $ex->GetString();
    }
    Ответ написан
    Комментировать