Cookies permission in Chrome extension doesn't work
cookies, google-chrome, google-chrome-extension, javascript
Solution
There are two problems with the code:
If a cookie is not found, `chrome.cookies.get` callback is called with `cookie == null`.
Therefore, calling `callback(cookie.value)` is an error and doesn't get executed.
The cookie is not found, because the URL you're passing, `https://www.box.com`, does not match the permission pattern `"https://www.box.com/api/*"`. You need to either change the pattern or the URL you're passing to `chrome.cookies.get`.
Problem
I'm having problem with my Chrome extension when I try adding cookies permission. First, the manifest file is like this ``` "permissions": [ "cookies", "https://api.box.com/*", "https://www.box.com/api/*", "https://dl.boxcloud.com/*", "tabs", "identity", ], ``` But when I click to the permission properties of my extension in chrome://extensions/, there is no `cookies` permission showing up. I'm not sure whether it is problematic or not, please help me clarify. The main problem is, when I run the code: ``` getCookies("https://www.box.com", "tokens", function(tokens){ console.log("Token returned"); }); function getCookies(domain, name, callback) { console.log("Getting cookies..."); chrome.cookies.get({"url": domain, "name": name}, function(cookie) { if(callback){ console.log("Done getting cookies, calling back..."); callback(cookie.value); } }); } ``` The `callback` function is never called, thus the `Token returned` message is never printed. I could see the `"Done getting cookies, calling back..` message in the console. So why is this happening? Please help me resolve it...