我正在FB.ui发布Facebook用户墙.但是,我不确定用于发布到页面或应用程序墙的参数.有链接吗?
我试图张贴到墙上页面作为页面,而不是用户的账户.
发布到用户帐户的代码:
FB.ui(
{
method: 'feed',
name: name,
link: link,
picture: picture,
caption: caption,
description: redemption,
message: message
},
function (response) {
if (response && response.post_id) {
alert(response.post_id);
} else {
}
}
);
Run Code Online (Sandbox Code Playgroud) 我使用以下代码来实现类似 - 按钮:
头
<!-- Facebook Metatags -->
<meta property="og:image" content="http://mysite/logo.gif"/>
<meta property="og:locality" content="mycity"/>
<meta property="og:country-name" content="Germany"/>
<meta property="og:latitude" content="52.xxxxxxx"/>
<meta property="og:longitude" content="9.xxxxxxx"/>
<meta property="og:type" content="product"/>
<meta property="og:site_name" content="mypage.com"/>
<meta property="og:url" content="http://mypage.de/myproduct/myproductkey"/>
<meta property="og:title" content="Myproduct Description"/>
Run Code Online (Sandbox Code Playgroud)
body在mypage.de/myproduct/myproductkey上
<div id="facebook-likebox">
<script src="http://connect.facebook.net/de_DE/all.js#xfbml=1"></script>
<fb:like href="http://mypage.de/myproduct/myproductkey" width="450" height="90" show_faces="false"></fb:like>
</div>
Run Code Online (Sandbox Code Playgroud)
结果不一致:大部分时间都有效,但有时我会收到此错误:
您未能提供有效的管理员列表.您需要使用\"fb:app_id \"元标记或使用\"fb:admins \"元标记来指定管理员,以指定以逗号分隔的Facebook用户列表.
这个错误毫无意义,因为当我稍后调用该页面或其他人调用该页面时,它再次起作用.知道这里有什么问题.
编辑
我使用这些元标记更新了网站
<meta property="fb:admins" content="xxx"/>
<meta property="fb:app_id" content="xxx"/>
Run Code Online (Sandbox Code Playgroud)
我在https://graph.facebook.com/xxx上重新检查了ID
但有时我仍会得到错误.新错误是:
"fb:app_id"元标记中指定的应用ID"xxx"无效.
但大部分时间都在工作.有没有人知道如何解决这个问题?
编辑1
我们的网站使用负载均衡器,并有许多外部脚本(E-Tracker和其他跟踪解决方案)
编辑2
我们使用LINT https://developers.facebook.com/tools/lint/来检查页面
它有时会出错(app_id无效),有时会返回有效.但是元标记中的app-id总是正确解析,它是有效的app-id.
这是显示页面图片的代码:
<img src="https://graph.facebook.com/157295940962451/picture"/>
Run Code Online (Sandbox Code Playgroud)
如何在此页面中显示给定相册的专辑封面
我无法将FB登录添加到我的网站.我只是注册了申请表:
URL: http://www.chusmix.com/
DOMAIN: www.chusmix.com
Run Code Online (Sandbox Code Playgroud)
然后我粘贴了登录代码并替换了我的APP id:
<html>
<head>
</head>
<body>
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({
appId:'212044715486306', cookie:true,
status:true, xfbml:true
});
</script>
<fb:login-button>Login with Facebook</fb:login-button>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
但是当我点击登录按钮时,我得到了 Error 191: redirect_uri is not owned by the application
此代码也在页面中:http://www.chusmix.com/game/根据Facebook所说填写字段DOMAIN使域中的所有页面都能够使用Facebook授权.但是我也尝试直接指向登录按钮所在的域,我得到了同样的错误.
甚至没有重定向网址.
更新:似乎登录工作在http://www.chusmix.com/game/但不在http://chusmix.com/game/(没有www).
如果用户没有输入www,有没有办法让它工作?或者我必须使用重定向?
我试图通过FQL获得所有用户的喜欢.以下是我的研究,包括我尝试过的以及每次尝试的问题.
1)最简单的方法是查询uid上的表.所以这会在其他人的流上返回57(对我而言)喜欢.
SELECT object_id, post_id, user_id
FROM like
WHERE user_id = me()
Run Code Online (Sandbox Code Playgroud)
XML看起来像这样(注意无法解释的post_id缺席)
<like>
<object_id>10150695050005313</object_id>
<post_id></post_id>
<user_id>xxxxxxxxxxx</user_id>
</like>
Run Code Online (Sandbox Code Playgroud)
以上似乎是合乎逻辑的步骤,但Facebook 没有索引user_id字段,因此我无法使用以下代码获取更多详细信息.此代码不起作用.
SELECT post_id, message
FROM stream
WHERE post_id IN (
SELECT object_id, post_id, user_id
FROM like
WHERE user_id = me()
)
Run Code Online (Sandbox Code Playgroud)
2)使用Graph API:/ me/likes /检索95个粉丝页面上的信息,但不是来自照片,视频,链接或离线内容.完整的网址是:https://graph.facebook.com/me/likes?access_token =
例如:
{
"data": [
{
"name": "BStU",
"category": "Organization",
"id": "136978696319967",
"created_time": "2011-06-29T12:09:17+0000"
},
{
"name": "Euchre",
"category": "Interest",
"id": "112355915446795",
"created_time": "2011-06-29T12:06:07+0000"
},
Run Code Online (Sandbox Code Playgroud)
3)此FQL返回与上面的代码相同的95个粉丝页面:
SELECT page_id,name
FROM page
WHERE page_id …Run Code Online (Sandbox Code Playgroud) 我想知道所有的语言是否都像白色空间字符一样处理相同的字符集,还是有任何变化.
任何人都可以提供分隔可以从键盘输入的空白字符的完整列表吗?如果它不同,差异和原因会更合适.如果您没有带出任何语言Whitespace或其变体(如果有的话),任何语言都会有所帮助.我当然不想要一个完整的语言列表,如Whitespace:)
我知道现在不可能将你自己的CSS链接到喜欢的盒子来定制它,但是这个问题似乎可以使用类似的盒子向导完成.我想要做的就是将边框颜色更改为与我的页面背景相同,以便根本看不到边框.奇怪的是,看起来我放在边框区域的任何颜色都不会影响结果.这是我的网站:http://www.uplatindance.com/SDO/
这是嵌入式代码
<div id="fb-root"></div>
<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.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-like-box" data-href="http://www.facebook.com/pages/Its-Salsa-Time/205870466141243" data-width="260" data-height= "65" data-colorscheme="dark" data-show-faces="false" data-border-color="black" data-stream="false" data-header="false"></div>
Run Code Online (Sandbox Code Playgroud)
思考?
我正打算打电话FB.ui给iframe做一个墙贴.但是,当我将显示设置为iframe时,我得到了一个102 error "Iframe dialogs must be called with a session key".我有一个访问令牌,我已登录,其他一切似乎都在工作(我甚至可以使用PHP直接发送到流,而不会提示提示).有任何想法吗?
PHP:
require_once('facebook.php');
define('APP_ID',"276733022359677");
define('APP_SECRET',"xxxx");
$my_url = URI_B."/spider/";
$config = array();
$config['appId'] = APP_ID;
$config['secret'] = APP_SECRET;
$facebook = new Facebook($config);
$fbid = $facebook->getUser();
if($fbid == 0){
$scope = "";
header("Location: ".$facebook->getLoginUrl($scope));
}
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
FB.init({appId: "276733022359677", status: true, cookie: true});
function publish() {
var obj = {
display: 'iframe',
method: 'feed',
link: 'http://discussiontopic.comyr.com/spider/',
name: 'Test',
caption: 'Test Caption',
description: 'This is a test.'
};
FB.ui(obj);
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用过去的创建日期上传几张旧照片,以便它们在时间轴中正确显示.现有的api只允许传递消息和来源.
即
POST https://graph.facebook.com/ALBUM_ID/photos?access_token=xyz
..multipart.form.data.with.message.and.source..
Run Code Online (Sandbox Code Playgroud)
是我上传照片的唯一方式.
POST https://graph.facebook.com/PHOTO_ID?access_token=xyz
created_time=2010-01-20T09:04Z&updated_time=2010-01-20T09:04Z
Run Code Online (Sandbox Code Playgroud)
不会移动照片日期.
我尝试使用/ feed api 创建照片上传后的帖子,但它不允许我将现有照片作为帖子.它使它成为类型链接的帖子.
我想要准确创建一个照片对象并发布以下内容:
{
"id": "xx_yy",
"from": {
"name": "My Name",
"id": "myfbid"
},
"story": "<My Name> added a new photo.",
"picture": "<PhotoJPEG>",
"link": "<FBPhoto_URL>",
"name": "Photo Name",
"icon": "https://s-static.ak.facebook.com/rsrc.php/v1/yz/r/StEh3RhPvjk.gif",
"actions": [
{
"name": "Comment",
"link": "https://www.facebook.com/xxx/posts/yy"
},
{
"name": "Like",
"link": "https://www.facebook.com/xx/posts/yy"
}
],
"privacy": {
"description": "Group",
"value": "CUSTOM",
"friends": "SOME_FRIENDS",
"allow": "<GROUPID>"
},
"place": {
"id": "<placeid>",
"name": "<PlaceName>"
},
"type": "photo", …Run Code Online (Sandbox Code Playgroud) 我有以下代码,其中抓取名/姓.我意识到电子邮件是一个扩展权限,但是我需要修改哪些来请求扩展权限?
如何通过DotNetOpenAuth?获取经过身份验证的Facebook用户的电子邮件?
fbClient = new FacebookClient
{
ClientIdentifier = ConfigurationManager.AppSettings["facebookAppID"],
ClientSecret = ConfigurationManager.AppSettings["facebookAppSecret"],
};
IAuthorizationState authorization = fbClient.ProcessUserAuthorization();
if (authorization == null)
{
// Kick off authorization request
fbClient.RequestUserAuthorization();
}
else
{
var request = WebRequest.Create("https://graph.facebook.com/me?access_token=" + Uri.EscapeDataString(authorization.AccessToken));
using (var response = request.GetResponse())
{
using (var responseStream = response.GetResponseStream())
{
var graph = FacebookGraph.Deserialize(responseStream);
// unique id for facebook based on their ID
FormsAuthentication.SetAuthCookie("fb-" + graph.Id, true);
return RedirectToAction("Index", "Admin");
}
}
}
return View("LogOn");
Run Code Online (Sandbox Code Playgroud)