GAE - Facebook图形移植

时间:2012-08-06 19:50:41

标签: php python google-app-engine

有没有人知道我可以找到python Facebook Graph代码的object(AppEngine)端口的任何地方?

示例here显示示例代码:

<?php
function curPageURL() {
 $pageURL = 'http://';
 if ($_SERVER["SERVER_PORT"] != "80") {
  $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
 } else {
  $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
 }
 return $pageURL;
}
?>

<html>
  <head prefix="og: http://ogp.me/ns# product: http://ogp.me/ns/product#">
    <meta property="fb:app_id" content="<?php echo strip_tags($_REQUEST['fb:app_id']);?>">
      <meta property="og:url" content="<?php echo strip_tags(curPageURL());?>">
      <meta property="og:type" content="<?php echo strip_tags($_REQUEST['og:type']);?>">
      <meta property="og:title" content="<?php echo strip_tags($_REQUEST['og:title']);?>">
      <meta property="og:image" content="<?php echo strip_tags($_REQUEST['og:image']);?>">
      <meta property="og:description" content="<?php echo strip_tags($_REQUEST['og:description']);?>">
      <title>Product Name</title>
  </head>
    <body>
      <?php echo strip_tags($_REQUEST['body']);?>
    </body>
</html>

但当然因为这是PHP,我需要在Google的App Engine中找到Python的等价物。

有没有人在Python中看到过这样的内容?

1 个答案:

答案 0 :(得分:0)

这取决于您使用的框架,但这应该是微不足道的。

使用Django templatetag,get

@register.filter(name='get')
def get(o, index):
    try:
        return o[index]
    except:
        return settings.TEMPLATE_STRING_IF_INVALID

在Django中,假设您在上下文中有请求:

<html>
  <head prefix="og: http://ogp.me/ns# product: http://ogp.me/ns/product#">
    <meta property="fb:app_id" content="{{ request.GET|get:"og:type" }}">
    <meta property="og:url" content="{{ request.get_full_path }}">
    ... 
    <title>Product Name</title>
  </head>
  <body>
    {{ request.body }} <!-- {{ request.raw_post_data }} if Django < 1.4 -->
  </body>
</html>

使用webapp请求,您没有像GET请求obj那样的Django attr,您需要使用the various properties of the webapp request class