Facebook发布与参数 [英] Facebook post with parameters

查看:146
本文介绍了Facebook发布与参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要通过参数进行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 ku

I 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆