Facebook发布与参数 [英] Facebook post with parameters
问题描述
我需要通过参数进行Facebook发布。我使用了这里的解决方案:
生成Facebook动态打开图表元标记,并在此处: Wordpress PHP中的动态Facebook og元标记
最终工作代码:
<?php
$ params = array();
if(count($ _ GET)> 0){
$ params = $ _GET;
} else {
$ params = $ _POST;
}
//默认
if($ params ['title'] ==)$ params ['title'] =default_title;
if($ params ['score'] ==)$ params ['score'] =1234567;
?>
< html xmlns =http://www.w3.org/1999/xhtmldir =ltrlang =en-US
xmlns:fb =https ://www.facebook.com/2008/fbml>
< head prefix =og:http://ogp.me/ns# fb:http://ogp.me/ns/fb# pathoflight:http://ogp.me/ NS / FB / pathoflight#>
< meta property =fb:app_idcontent =MY_APP_ID/>
< meta property =og:typecontent =pathoflight:level/>
< meta property =og:urlcontent =<?php echo'https://path-of-light.herokuapp.com'.$_SERVER ['REQUEST_URI'];?> />
< meta property =og:imagecontent =https://fbstatic-a.akamaihd.net/images/devsite/attachment_blank.png/>
< meta property =og:titlecontent =<?php echo $ params ['title'];?> />
< meta property =pathoflight:scorecontent =<?php echo $ params ['score'];?> />
< / head>
它在浏览器和Facebook Debugger中非常完美,但是通过Facebook API Explorer的帖子总是导致默认值对于标题
和得分
。如何告诉Facebook阅读我的真实参数?
问题还在于Facebook API资源管理器跳过参数,如果你这样做一个帖子
me / pathoflight:complete?level = https:// path-of- light.herokuapp.com/level_new.php?title=my_title&score=223322
此方法适用:
我/ pathoflight:完成
添加字段
级别https://路径光b ro kuI need to make a Facebook post with parameters. I used solutions from here:
Generating Facebook Open Graph meta tags dynamically and here: Dynamic Facebook og Meta Tags in Wordpress PHP
THE FINAL WORKING CODE:
<?php
$params = array();
if(count($_GET) > 0) {
$params = $_GET;
} else {
$params = $_POST;
}
// defaults
if($params['title'] == "") $params['title'] = "default_title";
if($params['score'] == "") $params['score'] = "1234567";
?>
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US"
xmlns:fb="https://www.facebook.com/2008/fbml">
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# pathoflight: http://ogp.me/ns/fb/pathoflight#">
<meta property="fb:app_id" content="MY_APP_ID" />
<meta property="og:type" content="pathoflight:level" />
<meta property="og:url" content="<?php echo 'https://path-of-light.herokuapp.com'.$_SERVER['REQUEST_URI']; ?>"/>
<meta property="og:image" content="https://fbstatic-a.akamaihd.net/images/devsite/attachment_blank.png" />
<meta property="og:title" content="<?php echo $params['title']; ?>" />
<meta property="pathoflight:score" content="<?php echo $params['score']; ?>" />
</head>
It works perfect in browser and Facebook Debugger, but my posts via Facebook API Explorer always leads to default values for title
and score
. How can I tell Facebook to read my real parameters?
解决方案 The issue also was that Facebook API Explorer skips parameters if you make a post like this
me/pathoflight:complete?level=https://path-of-light.herokuapp.com/level_new.php?title=my_title&score=223322
This approach works:
me/pathoflight:complete
Add a field
level https://path-of-light.herokuapp.com/level_new.php?title=my_title&score=223322
这篇关于Facebook发布与参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!