Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取Facebook个人资料并将其放入url,作为Chrome扩展_Javascript_Facebook_Facebook Graph Api_Google Chrome Extension - Fatal编程技术网

Javascript 获取Facebook个人资料并将其放入url,作为Chrome扩展

Javascript 获取Facebook个人资料并将其放入url,作为Chrome扩展,javascript,facebook,facebook-graph-api,google-chrome-extension,Javascript,Facebook,Facebook Graph Api,Google Chrome Extension,首先,我对JavaScript没有太多的知识,但我认为我知道的足以完成这项工作,我只需要一些指针 我正在尝试创建一个扩展,它将从当前打开的Facebook页面获取个人资料id,然后将其放入URL并显示新页面,例如,profileid/photos 不幸的是,我似乎找不到任何关于如何这样做的好文档。显示新页面应该不是问题,但我对JavaScript了解不够,无法从页面中提取ID。我所做的所有搜索都告诉我应该使用Facebook Graph API,但我不知道从哪里获得它,也不知道如何使用它。有谁能

首先,我对JavaScript没有太多的知识,但我认为我知道的足以完成这项工作,我只需要一些指针

我正在尝试创建一个扩展,它将从当前打开的Facebook页面获取个人资料id,然后将其放入URL并显示新页面,例如,profileid/photos


不幸的是,我似乎找不到任何关于如何这样做的好文档。显示新页面应该不是问题,但我对JavaScript了解不够,无法从页面中提取ID。我所做的所有搜索都告诉我应该使用Facebook Graph API,但我不知道从哪里获得它,也不知道如何使用它。有谁能给我一些提示或给我指出正确的方向,最好是一些教程,这些教程不假设我在过去几年中一直在使用JavaScript和Graph API。

你不必使用Graph API。只需在devtools(F12)中打开任何页面源代码并找到(Ctrl-F)profile ID所在的位置,然后从最容易处理的位置提取它:


可以使用以下代码在内容脚本中提取:

document.querySelector('meta[property="al:android:url"]').content
您的扩展应该有一个声明侦听器的:

您的manifest.json文件应至少包含一个

以上代码中有很多地方需要改进,这只是一个起点。
检查代码以查看各种技术的使用情况。
请参阅和。
在询问(,)之前始终使用调试器

chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.executeScript(
        tab.id,
        {code: "document.querySelector('meta[property=\"al:android:url\"]').content"},
        function(results) {
            var profileID = results[0].split('/')[3];
            chrome.tabs.create({
                url: 'https://www.facebook.com/search/' + profileID + '/photos-of',
                active: true
            });
        }
    );
});