Kategoriler
Adobe Api Genel Laravel

Adobe Connect Api Grup Ekleme ve Silme

Adobe Connect bağlantımızı yapıyoruz , eğer bağlantı yapmayı bilmiyorsanız bir önceki makalemizi okuyabilirsiniz. Bağlantı işlemini yaptıysak şimdi gelelim grup oluşturmaya.

     $name = $request->input('name');
     $description = $request->input('description');

Request olarak aldığımız veriler ile adobe grubu oluşturacağız. Eğer tek grup oluşturacaksanız siz requestle almak yerine aşağıda ki gibi manuel tanımlayabilirsiniz.

     $name = "grup adı";
     $description = "grup açıklaması";

Grup bilgilerini manuel veya request yardımıyla aldıktan sonra grubu ekliyoruz ve ekleyip eklemediğimizin kontrolünü yapıyoruz.

$group_control = $client->call("principal-list", ["filter-type" => "group", "filter-name" => $name]);

$group_status = isset(json_decode(json_encode($user_control, 1))->{'principal-list'}->principal->{'@attributes'}->{'principal-id'}) ? 1 : 0;

$group_status’dan bize dönen yanıt 1 ise grup oluşturulmuştur eğer 0 ise hata oluşmuştur. Kodun genel hali aşağıdaki gibidir.

public function createGroup(Request $request)
{

$config = new Config(
"https://deneme.adobeconnect.com",
"[email protected]",
"123qwe123"
);

$client = new ApiClient($config);
$name = $request->input('name');
$description = $request->input('description');

$new_user = $client->call("principal-update", [
"name" => $name,

"login" => $name,
"description" => $description,
"type" => "group",
"send-email" => "false",
"has-children" => true

]);
$user_control = $client->call("principal-list", ["filter-type" => "group", "filter-name" => $name]);
$user_status = isset(json_decode(json_encode($user_control, 1))->{'principal-list'}->principal->{'@attributes'}->{'principal-id'}) ? 1 : 0;


if ($user_status == 1) {
$array['ret'] = 1;
$array['message'] = "Tebrikler! Deneme başarıyla eklendi.";

} else {
$array['ret'] = 1;
$array['message'] = "Beklenmeyen bir hata oluştu, lütfen tekrar deneyin.";
}

echo json_encode($array);
}

Grubu oluşturduk şimdi sıra geldi grubu silmeye. Eklediğimiz grubun principal-id’sini $group_id olarak tutuyoruz.

$group_id = json_decode(json_encode($user_control, 1))->{'principal-list'}->principal->{'@attributes'}->{'principal-id'});

$group_id ile apiye çağrı yapıp grubu siliyoruz. Kodun tamamı aşağıdadır.

        $user_ac_info = json_decode(json_encode($client->call("principal-list", ["filter-principal-id" => $group_id ]), 1));
        if ($user_ac_info->status->{'@attributes'}->code === 'ok') {
            if (isset($user_ac_info->{'principal-list'}->principal->{'@attributes'}->{'principal-id'})) {
                $user_ac_id = $user_ac_info->{'principal-list'}->principal->{'@attributes'}->{'principal-id'};


                $ac_user_del = json_decode(json_encode($client->call("principals-delete", ["principal-id" => $user_ac_id]), 1));


                if (!$ac_user_del->status->{'@attributes'}->code === 'ok') {
                    array_push($del_array, "Kullanıcı adobe connect üzerinden silinirken sunucu cevap veremedi. Lütfen tekrar deneyin yada kullanıcıyı manuel olarak silin.");
                }
            }
        } else {
            array_push($del_array, "Adobe Connect sunucusu yanıt vermekte gecikme yaşıyor. Lütfen tekrar deneyin. Eğer bir süredir aynı hatayı alıyorsanız kullanıcıyı manuel olarak silmeyi deneyebilirsiniz...");
        }

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir