Sco*_*ack 8 parsing facebook google-chrome-extension facebook-graph-api
我正在尝试构建一个谷歌浏览器扩展程序,一个用例要求用户可以使用Facebook登录并通过帖子分享到他们的Facebook墙.
正确的应用程序流程如下:
我主要的hick-up正在登录Facebook,并将数据恢复到扩展程序.
我创建了一个Facebook应用程序,完成了大部分特定于应用程序的编码,我试图保持应用程序只是javascript(但我可以添加PHP,如果没有其他方式),尝试使用标准的Facebook JavaScript,并尝试使用Facebook的桌面客户端.
其他人之前是否经历过连接Google Chrome扩展程序和Facebook登录的过程?
作为最后一点,我正在尝试与Parse一起参与这个项目,所以如果你有任何额外的问题那么它也会很棒!
我想要完成的一个很好的例子类似于Any.do https://chrome.google.com/webstore/search/any.do?utm_source=chrome-ntp-icon
小智 20
我最近遇到过这种问题;).这有点复杂,但我会尝试以最简单的方式解释它.
放在您的扩展程序(可能是选项页面)链接"登录Facebook"重定向到: https://www.facebook.com/dialog/oauth?client_id=<APP_ID>&response_type=token&scope=<PERMISSIONS>&redirect_uri=http://www.facebook.com/connect/login_success.html
当有人点击此链接时,将要求您提供权限等(Facebook页面).如果有人同意,页面将加载:http://www.facebook.com/connect/login_success.html带参数access_token和expires_in地址.
现在,后台页面应该有这样的脚本:
var successURL = 'www.facebook.com/connect/login_success.html';
function onFacebookLogin(){
if (!localStorage.getItem('accessToken')) {
chrome.tabs.query({}, function(tabs) { // get all tabs from every window
for (var i = 0; i < tabs.length; i++) {
if (tabs[i].url.indexOf(successURL) !== -1) {
// below you get string like this: access_token=...&expires_in=...
var params = tabs[i].url.split('#')[1];
// in my extension I have used mootools method: parseQueryString. The following code is just an example ;)
var accessToken = params.split('&')[0];
accessToken = accessToken.split('=')[1];
localStorage.setItem('accessToken', accessToken);
chrome.tabs.remove(tabs[i].id);
}
}
});
}
}
chrome.tabs.onUpdated.addListener(onFacebookLogin);
Run Code Online (Sandbox Code Playgroud)
这就是你从facebook获取访问令牌的方法.现在您可以将请求发送到https://graph.facebook.com.
希望我帮忙;)
| 归档时间: |
|
| 查看次数: |
10955 次 |
| 最近记录: |