Reputation: 1969
I create a chrome extension which offer accessibility to download any media in opened page of Facebook, including photo, video, and story. But I'm stuck when about to access/catch facebook's video story request URL that's shown up in Network tab in console, using chrome.webRequest
API.
By excluding bytestart
and byteend
params from URL above, we got the full video file (with an expiration token). The <video>
tag itself has src
attribute like blob:https://www.facebook.com/<some_alpha_numerics_and_hyphens>
.
This is what I've tried in my extension project:
permission:
"permissions": [
"webRequest",
"*://*/*"
],
I've tried to listen all the events available but no luck.
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
console.log('onBeforeRequest', details.url);
},
{
urls: ["<all_urls>"]
}
);
// onBeforeSendHeaders
// onSendHeaders
// onHeadersReceived
// onAuthRequired
// onResponseStarted
// onBeforeRedirect
// onCompleted
// onErrorOccurred
I haven't tried chrome.declarativeWebRequest
https://developer.chrome.com/extensions/declarativeWebRequest because it's for Beta and Dev channels only.
Is it really possible or did I have mistake in using it? Thank you in advance.
Upvotes: 3
Views: 5952
Reputation: 2028
I would recommend adding the "webRequestBlocking" permission to your manifest.json file.
According to the documentation the callback uses a blocking event handler that requires the "webRequest" as well as the "webRequestBlocking" permission in order to work.
Reference: https://developer.chrome.com/extensions/webRequest#examples
Upvotes: 1