我有一个Facebook应用程序,允许人们创建"海报".每个"海报"都可以使用fb:comments小部件进行评论.
用户可以使用AJAX在海报之间切换.问题是切换到下一个海报后,fb:comments小部件仍然指向以前的URL.有没有办法为新网址"重新加载"小部件?
facebook facebook-graph-api facebook-javascript-sdk facebook-php-sdk
在我的网站中,我正在使用Facebook JS SDK的异步加载.要实际设置它,我使用window.fbAsyncInit函数中的标准FB.init.
但问题是,在我的网站中,此功能在每个页面上.但是当我在子页面中时,由于我的网站设计,我不能直接添加到JS函数,我必须复制并粘贴整个函数并添加我的位.
我不认为多个fbAsyncInit是可能的,所以最好的方法是什么?
我在页面选项卡中有一个使用facebook javascript sdk的应用程序.当新用户访问该应用程序时,我会收到预期的"使用Facebook登录"弹出窗口.我也有一些扩展权限,我已经放在FB.Login的scope参数中.用户使用Facebook登录后,我会看到预期的扩展权限弹出窗口.唯一的问题是如果用户跳过扩展权限,对话框将返回access_token,但它对扩展权限无效.代码示例如下.
window.fbAsyncInit = function () {
FB.Canvas.setAutoGrow();
FB.init({
appId: facebookAppId,
status: true, // check login status
});
function updateFBInfo(response) {
console.log('updateResp:');
if (response.authResponse) {
//user is already logged in and connected
FB.api('/me', function (info) {
displayUserInfo(info, response);
});
}
else {
FB.login(function (loginResponse) {
if (loginResponse.authResponse) {
FB.api('/me', function (info) {
displayUserInfo(info, loginResponse);
});
}
}, { scope: 'email,manage_pages,offline_access,publish_stream' });
}
}
FB.getLoginStatus(updateFBInfo);
};
Run Code Online (Sandbox Code Playgroud)
我想我的问题是,我错过了什么(这一定很容易),或者有没有办法检查并查看返回的acces_token是否真的有效?
facebook facebook-graph-api facebook-javascript-sdk facebook-authentication
我遇到了http://developers.facebook.com/docs/reference/api/post/的问题.即,选项称为"with_tags".
options = {
"message": "Test123",
"with_tags": {
"data":[
{"id": 100001686722916, "name": "Aret Aret"}
]
}
};
FB.api('/me/feed', 'post', options, function(response) {
if (!response || response.error) {
alert('Error occured');
console.log(response);
} else {
console.log(response);
}
});
Run Code Online (Sandbox Code Playgroud)
因此,我只是在帖子中收到一条消息"Test123"但没有"with"标签.我在"with"部分中使用的用户位于我的朋友列表中,并且也是该应用的开发者.谢谢.
javascript facebook facebook-graph-api facebook-javascript-sdk
对于使用Facebook Javascript SDK的移动Web应用程序,我们要检查用户的登录状态,然后在必要时显示Facebook登录对话框.以下代码在我们的Web应用程序中给定按钮的单击处理程序中运行:
$('#button').click(function() {
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
// do something with the logged in and authorized user
} else if (response.status === 'not authorized') {
// logged in but has not authorized our app
} else {
// not logged in
FB.login();
}
});
});
Run Code Online (Sandbox Code Playgroud)
确保用户没有登录Facebook,这可以正常工作,并在按下按钮时显示桌面Web浏览器的登录对话框,但不显示移动网络(至少不适用于各种浏览器上的Android,我不目前可以访问iPhone).移动网络应用程序上没有任何内容,当我禁用弹出窗口阻止程序时,我会收到提示,询问是否要允许此弹出窗口,这有效.
有谁知道为什么行为不同和/或已知/标准的解决方法是什么?谢谢!
主要问题:我如何通过C#SDK扩展60天访问令牌的2小时访问令牌?您是否可以提供代码已经交换2小时访问令牌的那个部分的样本?
背景:我一直在这里寻找并尝试各种解决方案,但还没有找到适合我的方案.我可以成功地进行/我调用并获取有关当前用户的信息,但是当我尝试扩展访问令牌时它失败了.
此应用程序的目标是允许用户设置帖子并在事件发生后监视喜欢和评论一段时间.显然,我们需要60天令牌.
当你可以申请永久令牌时,其他人做了90%的工作后,我正在接受这个项目.我的工作是修复它,以便我们可以使用60天令牌.我可能会问非常愚蠢的后续问题.做好准备!
当前流程:用户设置他的帖子,点击一个按钮,我们提示他们通过javascript sdk授权我们的app /登录facebook.在他们登录后,我们在javascript中处理其他不相关的东西,然后将其AJAX转移到C#以将一些信息保存到我们的数据库(包括令牌)并发布帖子.一切都很好,我在javascript中获得访问令牌就好了,我可以使用该2小时令牌来获取登录用户的信息,但是当我尝试扩展时,我得到两个错误之一,我将在下面提到导致它们的代码.
我尝试过的:
工作:我相信我在这里发现了另一篇文章.var fbClient = new FacebookClient(accessToken);
Dictionary<string, object> parameters = new Dictionary<string, object>();
parameters.Add("client_id", appId);
parameters.Add("redirect_uri", redirectURI);
parameters.Add("client_secret", appSecret);
parameters.Add("code", accessToken);
var result = fbClient.Get("/me", parameters);
Run Code Online (Sandbox Code Playgroud)
不工作:这来自各个地方,包括这里和sdk文档.我见过人们包括重定向网址,并说当你最初获得accessstoken时它需要匹配一个但是我们在javascript中做了这个并且没有使用重定向网址.Dictionary parameters2 = new Dictionary();
parameters2.Add("client_id", appId);
//parameters2.Add("redirect_uri", redirectURI);
parameters2.Add("client_secret", appSecret);
//parameters2.Add("code", accessToken);
parameters2.Add("grant_type", "fb_exchange_token");
parameters2.Add("fb_exchange_token", accessToken);
var result2 = fbClient.Get("/oauth/access_token", parameters2);
Run Code Online (Sandbox Code Playgroud)
错误:{Newtonsoft.Json.JsonReaderException:解析值时遇到意外的字符:a.第1行,第1位.错误2:如果我注释掉grant_type和fb_exchange_token并取消注释代码和redirecturi,我会得到与下一个方法相同的错误...
不工作:我从另一个帖子中抓取这里复制/粘贴重命名以匹配我的vars. 无法获得长期到期令牌
dynamic result3 = new ExpandoObject();
try
{
dynamic parameters3 = new ExpandoObject();
parameters3.grant_type = "fb_exchange_token";
parameters3.fb_exchange_token = accessToken;
parameters3.client_id = appId;
parameters3.client_secret …Run Code Online (Sandbox Code Playgroud) javascript c# facebook-javascript-sdk facebook-c#-sdk facebook-access-token
我有一个使用Facebook JS SDK的网站,它在两年多的时间里完美运行
今天Facebook部分(我使用SDK在主页面的选项卡中显示用户时间线)停止工作,当页面加载时它给了我这个JavaScript错误
任何帮助将不胜感激
错误:错误:表达式是字符串类型,而不是对象源文件:http://connect.facebook.net/en_US/all.js 行:37
好吧,我有关于关于消息属性,属性/对象或其所谓的FB.ui的问题.(不知道它叫什么,我的坏.)
我在某个网站看到了这段代码:
http://fbdevwiki.com/wiki/FB.ui#method%3a_.27permissions.request.27
这是我关注的具体部分.

它不工作我至少...
那这是我的代码,
function postToFeed() { //Facebook Share Function
// calling the API ...
var obj = {
method: 'feed',
display: "iframe",
message: "Hey Hey Lol",
link: "http://www.facebook.com/pages/<?php echo $fbp_name; ?>/<?php echo $fbp_id; ?>?sk=app_xxxxx",
picture: "http://www.compibot.com/<?php echo $image_folder; ?>/<?php echo $event_info[4]; ?>",
name: "<?php echo $event_info[1]; ?>",
caption: '<?php echo "Expires in: " . $mdy_expiry; ?>',
description: "<?php echo $event_info[2]; ?>",
actions: [{ name: 'Vote', link: 'https://www.facebook.com/<?php echo $fbp_id ?>'}]
};
function callback(response) { …Run Code Online (Sandbox Code Playgroud) My main page is index.php. Here I perform user login and then redirected to url.php using ajax request. Now user may move to various pages.
I need current user facebook id on those pages. How can I get it?
login.php
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.init({
appId: '<?php
echo $appId;
?>',
cookie: true,
xfbml: true,
// channelUrl: '<?php
echo $return_url;
?>channel.php',
oauth: true}
);
};
(function() {
//alert("1");
var e = document.createElement('script');
e.async = true;
e.src = document.location.protocol …Run Code Online (Sandbox Code Playgroud) ajax facebook session-variables facebook-javascript-sdk facebook-php-sdk
我是facebook api的新手,我使用facebook应用程序登录,但是当我输入任何页面api重定向主页时。我想留下我以前的页面。例如 :
我在main/news/nba-orlando页面上,我想用Facebook登录,然后单击按钮,然后弹出显示。如果我接受,api重定向mainbu我想留下main/news/nba-orlando页面...我该怎么做?
FB.init({
appId : '{api_id}',
redirect_uri : document.URL,
cookie : true,
xfbml : true,
version : 'v2.5'
});
Run Code Online (Sandbox Code Playgroud) javascript facebook facebook-graph-api facebook-javascript-sdk