我想通过Facebook社交插件(iframe小部件)将谷歌分析中的事件跟踪应用到我们网站上的Facebook评论,但我似乎无法找到附加事件的方法.我更愿意,如果解决方案是基于jquery,但我很乐意接受大多数建议.
javascript jquery facebook google-analytics facebook-javascript-sdk
我正在使用facebook php sdk 3.1.1和facebook JS sdk的当前版本.我们的用户没有报告错误,但我看到了大量的错误日志消息,如下所示:
未知的算法.预计HMAC-SHA256
我从源头看到,在使用错误的编码编码算法读取签名请求时会触发错误,但我不确定为什么会这样,因为所有签名的请求都应该由facebook JS代码生成.
谁见过这种行为?不知道这是多么糟糕,或者它是否真的表明错误?我一直无法按需复制它.
javascript php facebook-graph-api facebook-javascript-sdk facebook-php-sdk
我看到了一个类似的问题,它提到了2011年12月的变化,那部分是正确的
但其余的答案是错误的
我注意到这是url的一部分
我已经尝试了PHP SDK(v.3.1.1)和当前建议的Javascript SDK:https: //developers.facebook.com/docs/guides/web/
现在当我试图注销时,我已经尝试了FB.logout()(对于js)和$ facebook-> getLogoutUrl();
作为两个清楚状态的文档,这些方法将用户从应用程序以及他们的facebook会话中记录下来.
但我只需要将用户从facebook应用程序(测试站点)中注销.
我已经尝试将用户从测试站点中删除,忽略了facebook方面.但在这种情况下,当用户再次单击登录按钮时,登录流程(facebook身份验证和重定向)不会发生.
我也试过:(正如以前未解决的问题所建议的那样)
$facebook->destroySession();
unset($_SESSION['fb_' . sfConfig::get('app_fb_config_id') . '_code']);
unset($_SESSION['fb_' . sfConfig::get('app_fb_config_id') . '_access_token']);
unset($_SESSION['fb_' . sfConfig::get('app_fb_config_id') . '_user_id']);
Run Code Online (Sandbox Code Playgroud)
但是,当重定向到登录页面时,$ facebook-> getUser()仍然会检索用户.
注意:根据文档示例,我使用php sdk登录用户到我的测试站点,以及js sdk,以呈现和方便facebook登录按钮.
附加:
我使用的身份验证基本上是文档建议的:
<?php
define('YOUR_APP_ID', 'YOUR APP ID');
//uses the PHP SDK. Download from https://github.com/facebook/php-sdk
require 'facebook.php';
$facebook = new Facebook(array(
'appId' => YOUR_APP_ID,
'secret' => 'YOUR APP SECRET',
));
$userId = $facebook->getUser();
?>
<html>
<body>
<?php if ($userId) {
$userInfo = $facebook->api('/' + $userId); ?> …Run Code Online (Sandbox Code Playgroud) 我已多次阅读Facebook的Canvas应用程序文档,但我很难说哪些功能仅适用于Canvas应用程序,哪些功能也适用于使用JavaScript SDK的非Facebook网站.
例如,Canvas文档通过Feed对话框和图形API提及书签,搜索和发布到新闻源.但是你可以通过使用Facebook登录API和Feed Dialog API在非Facebook网站上获得所有这些,而不是Canvas应用程序.
那么,Canvas的功能到底是什么?Canvas应用程序可以做什么普通网站不能做到的?
facebook facebook-graph-api facebook-javascript-sdk facebook-canvas
当我尝试集成Parse.com和Facebook SDK时,我收到以下错误.
错误如下:

我添加的库文件.

更新 - 更改YES为"Allow non-modular includes in Framework modules"

facebook objective-c ios facebook-javascript-sdk parse-platform
我们正在开发iOS 8.0及更高版本的应用程序.此应用程序需要身份验证(或用户注册).在网站上,我们使用html表单注册和登录用户.这些形式是敏感的.用户还可以单击"使用Facebook登录"按钮以使用FB凭据登录.这个按钮是用FB的SDK for Javascript(v2.4)实现的
因此,我们不希望在我们的iOS应用程序上实现注册和日志的本机屏幕,但我们宁愿实现一个带有WKWebView元素的视图控制器来处理这种浏览体验.
但是,我们注意到,当用户点击"使用Facebook登录我"按钮时,没有任何反应.FB打开以询问用户登录和授予权限的典型弹出窗口永远不会出现.
以下是我们如何初始化WKWebView:
class LoginViewController: UIViewController, WKNavigationDelegate, WKUIDelegate {
var webView: WKWebView
@IBOutlet weak var cancelButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(webView)
webView.setTranslatesAutoresizingMaskIntoConstraints(false)
let height = NSLayoutConstraint(item: webView, attribute: .Height, relatedBy: .Equal, toItem: view, attribute: .Height, multiplier: 1, constant: 0)
let width = NSLayoutConstraint(item: webView, attribute: .Width, relatedBy: .Equal, toItem: view, attribute: .Width, multiplier: 1, constant: 0)
view.addConstraints([height, width])
loadDefaultUrl()
}
required init(coder aDecoder: NSCoder){
let config = WKWebViewConfiguration()
config.preferences.javaScriptCanOpenWindowsAutomatically = …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Messenger Extensions Javascript SDK 创建Messenger Web View(https://developers.facebook.com/docs/messenger-platform/messenger-extension).
Web View打开的页面具有以下JS代码
<script>
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.com/en_US/messenger.Extensions.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'Messenger'));
window.extAsyncInit = function () {
// the Messenger Extensions JS SDK is done loading
MessengerExtensions.getUserID(function success(uids) {
var psid = uids.psid;
alert(psid);
}, function error(err) {
alert("Messenger Extension Error: " + err);
});
};
</script> Run Code Online (Sandbox Code Playgroud)
结果是一个警报,其中包含以下消息"Messenger Extension Error:2071011".所以方法"getUserID"出错了."2071011"错误代码是什么意思?以及如何解决?我搜索了很多,但没有找到任何关于它.
任何帮助真的很感激!!
PS:指南说要将URL的网站列入白名单,我也是这样做的.
javascript facebook facebook-javascript-sdk facebook-messenger
你好我想知道在facebooks图API中的offset_y意味着什么:https://developers.facebook.com/docs/graph-api/reference/cover-photo/.
y_offset:当大于0%但小于100%时,封面照片会垂直溢出.该值表示垂直手动偏移(用户垂直拖动照片以显示感兴趣的部分的量),作为使照片适合空间所需的偏移的百分比.
我已经尝试在facebook graph api中使用解决方案:offset_y offset_x,但它确实有效.
例如,此活动https://www.facebook.com/events/164312630996898/.事件图片的css顶部偏移量为-3px:
为了计算这个,我将尝试在facebook图形api中使用该方法:offset_y offset_x
图像为500x622像素(调整大小以适应时),事件图像空间为500x262像素.622px-262px = 360px.使用facebook图形API(https://developers.facebook.com/tools/explorer?method=GET&path=164312630996898%3Ffields%3Dcover&version=v2.12)给出的偏移量为9:

所以360px的9%是32.4px,但实际答案应该是3px.
任何帮助将不胜感激!
对于尝试在其网站中集成Facebook登录和身份验证的新开发人员,如果他们只是尝试从Facebook面向开发人员的帮助中复制教程,他们可能会收到错误.
错误是:未捕获的ReferenceError:未定义statusChangeCallback
码:
<script>
function checkLoginState() {
FB.getLoginStatus(function (response) {
statusChangeCallback(response);
});
}
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "https://connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
window.fbAsyncInit = function () {
FB.init({
appId: '<Your App ID>',
cookie: true,
xfbml: true,
version: 'v2.12'
});
FB.AppEvents.logPageView();
};
</script>
<fb:login-button scope="public_profile,email"
onlogin="checkLoginState();">
</fb:login-button>
<div id="status"></div>
Run Code Online (Sandbox Code Playgroud)