SendGrid: Cara Pakai API Dengan Authentication Menggunakan PHP dan cURL

SendGrid menyediakan REST API sebagai penghubung antara aplikasi kita dengan layanan yang mereka berikan. Untuk berinteraksi dengan API mereka, kita membutuhkan API KEY yang didapat dari account kita di SendGrid.

Sesuai dengan dokumentasi di website SendGrid, berikut cara panggil API nya menggunakan cURL.

curl --request POST \
  --url https://api.sendgrid.com/v3/mail/batch \
  --header 'authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \

Contoh diatas untuk mendapatkan Batch id.

Authentication diatas menggunakan Bearer atau token berupa API KEY account kita di SendGrid.

Berikut ketika cURL digunakan pada PHP.

$url = '<url api>';
$apikey = '<api key anda>';
$content = json_encode('<array content anda>');

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json","authorization: Bearer ".$apikey));
curl_setopt($curl, CURLOPT_HTTPGET, 1); //untuk GET method

$json_response = curl_exec($curl);

curl_close($curl);

$response = json_decode($json_response, true);

 

 

Cara Panggil REST API di Client Menggunakan PHP dan cURL

POST

$url = "url yang jadi interface";    
$content = json_encode("data body yang di post dalam bentuk php array");

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);

$json_response = curl_exec($curl);

curl_close($curl);

$response = json_decode($json_response, true);

GET

$url = "url yang jadi interface";    

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
curl_setopt($curl, CURLOPT_HTTPGET, 1)

$json_response = curl_exec($curl);

curl_close($curl);

$response = json_decode($json_response, true);

untuk menambahkan authentikasi pada saat memanggil API menggunakan bearer atau token authentication, bisa ditambahkan di dalam komponen array sejajar dengan “Content-type”

misalnya seperti

$url = "url yang jadi interface";    

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json", "authorization: Bearer <token>"));
curl_setopt($curl, CURLOPT_HTTPGET, 1)

$json_response = curl_exec($curl);

curl_close($curl);

$response = json_decode($json_response, true);

 

 

Aplikasi Android Sedarhana Pertama

Seneng sekali akhirnya satu aplikasi yang sangat sederhana sekali selesai. Ini aplikasi Android pertama saya dan yang pertama juga saya upload di Google Play.

Tujuan saya upload aplikasi yang sebenarnya mungkin terlalu simple untuk diupload di google play adalah untuk mencari tau seperti apa sih tahap atau langkah dari membuat aplikasi android itu sampai bisa muncul di Google Play. Dan rasanya senang ketika aplikasi itu muncul di Google Play.

Harapan saya terhadap aplikasi ini sebenarnya gak terlalu besar, supaya diinstall banyak orang, dll. Tetapi lebih kepada untuk mendapat gambaran utuh dari suatu pengembangan aplikasi sampai launch di market.

Biarkan aplikasi itu sementara ada di Google Play, sambil mengembangkannya.

Ada beberapa yang kebayang tentang seperti apa pengembangannya kedepan, feature apa yang akan ditambahkan, dll.

Bagi yang penasaran aplikasinya seperti apa, ini dia

https://play.google.com/store/apps/details?id=com.alfannas.astrotips

PHP read csv file, save in variable, and display in the browser

In this case, we would like to read comma separated value (csv) than save in the php variable and display to the browser.

For example, we have csv file with name data.csv and containing data looks like below:

"First Name","Last Name","e-mail"
"John","Doe","[email protected]"
"Alex","Joe","[email protected]"

Create a php file for example readcsv.php. The PHP code is looks like below:

<?PHP

    $file_handle = fopen('./data.csv', 'r');
    while (!feof($file_handle) ) {
        $text[] = fgetcsv($file_handle, null, ",");
    }
    fclose($file_handle);


    echo '<pre>';
    print_r($text);
    echo '</pre>';

?>

Open php file in the browser and it will display csv data in the array format.

reference:

  • http://codedevelopr.com/articles/reading-csv-files-into-php-array/
  • http://php.net/manual/en/function.fgetcsv.php

VirtualBox Error Hanya Menampilkan Pilihan Sistem Operasi Windows 32 Bit Saja

Ceritanya saya lagi pengen install windows server 2012 R2 di sebuah virtual machine dengan tools atau applikasi bernama VirtualBox dari Oracle.

Nah setelah install virtualbox dan sudah download file .iso installasi windows server 2012 R2 nya yang 64 bit, ternyata di pilihan virtualbox tidak ada yang 64 bit. Lha kok aneh, pikir saya waktu itu.

Saya coba paksakan buat virtual machine dengan pilihan other windows 32 bit, dan saya jalankan, ternyata error. Gak mau lanjut proses instalasinya.

Masa harus download lagi yang 32 bit sementara buat download satu file yang 64 bit itu saja butuh waktu 2 jam lebih, males banget.

Iseng nyoba lihat di web microsoft tempat downloadnya, yg 32 bit banyak banget pilihanya, ribet kayaknya.

Akhirnya saya coba cari di internet permasalahan ini, dan nemu di suatu web atau blog orang yang mengalami hal yang sama. Dia ketemu solusinya. Solusi ini juga ada di forum superuser.

ini blognya: http://www.fixedbyvonnie.com/2014/11/virtualbox-showing-32-bit-guest-versions-64-bit-host-os/

Solusi yang tertulis disitu adalah:

  1. Pastikan OS parent kita, maksudnya misalnya windows tempat install virtualbox kita ini termasuk yang 64 bit. Walaupun di kolom komentar stackoverflow ada yang bilang bisa aja pasang virtual machine untuk windows 64 bit di OS parent yang 32 bit, tapi tidak optimal.
  2. Pastikan setting di BIOS komputer kita tentang Intel virtualization Technology dan VT-d di-enable.
  3. Hyper-V platform di-disable. Lokasinya ada di Windows Features List. Ini ada di control panel. Kerena OS saya pake windows 7, jadi feature ini tidak ada, jadi tidak ada yang di-disable.

O iya, computer saya adalah laptop thinkpad x200si dengan OS windows 7.

Dari step solusi di atas, praktis saya hanya melakukan nomer satu dan dua saja. Setelah setting BIOS kan langsung restart tu, nah ini tidak langsung muncul 64 bit nya di VirtualBox, jadinya harus di bener-bener OFF, shut down komputer kita.

Setelah itu bisa muncul deh pilihan 64 bit nya.