Videos
According to kaggle api documentation the location where credentials json is looking for is ~/.kaggle/kaggle.json as google colab environment is Linux based.
In your snippet you try to config path parameter, but it is not used to looking for credential json:
- path: Folder where file(s) will be downloaded, defaults to current working directory
So the full working snippet for google colab environment would be:
!mkdir ~/.kaggle
!touch ~/.kaggle/kaggle.json
api_token = {"username":"username","key":"api-key"}
import json
with open('/root/.kaggle/kaggle.json', 'w') as file:
json.dump(api_token, file)
!chmod 600 ~/.kaggle/kaggle.json
And then some api call like
!kaggle datasets download -d datamunge/sign-language-mnist
You can find the JSON file that you need to place form Kaggle's portal itself. Just log into kaggle, go to your account page and then click 'Create New API Token' and it will give you a JSON file that needs to be placed.

Basically, if you want to use the Kaggle python API (the solution provided by @minh-triet is for the command line not for python) you have to do the following:
import kaggle
kaggle.api.authenticate()
kaggle.api.dataset_download_files('The_name_of_the_dataset', path='the_path_you_want_to_download_the_files_to', unzip=True)
I hope this helps.
kaggle api key and usersame is available on kaggle profile page and dataset download link is available on dataset details page on kaggle
#Set the enviroment variables
import os
os.environ['KAGGLE_USERNAME'] = "xxxx"
os.environ['KAGGLE_KEY'] = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
!kaggle competitions download -c dogs-vs-cats-redux-kernels-edition