0

FacebookのOpenGraphにルートを正常に投稿すると、ルートがマップに表示されます。ただし、これは、次のようにphpで座標をハードコーディングした場合にのみ機能します。

<meta property="vaarapp:route:longitude" content="4.948997">
<meta property="vaarapp:route:altitude" content="0.01">
<meta property="vaarapp:route:latitude" content="52.24525">
<meta property="vaarapp:route:longitude" content="4.948997">
<meta property="vaarapp:route:altitude" content="0.01">

しかし、iPhoneからこれらの座標を動的に追加したいと思います。私はすでに座標の配列を持っていますが、これを変数としてphpスクリプトに送信する方法がわかりません。誰かが私を助けることができますか?

これは、iPhoneからPHPスクリプトに情報を送信する方法です。PHPスクリプトは、最終的にFacebookアプリにアクションを投稿します。

NSMutableString *format = [self createFacebookFormat];



NSString *attributes =
@"fb:app_id=421596134540169&og:type=%@&"
@"og:title=%@&og:description=%%22Lorem ipsum test description%%22&"
@"og:image=%@&"
@"vaarapp:distance=%d&"
@"vaarapp:time=%d&"
@"vaarapp:location:latitude=%f&"
@"vaarapp:location:longitude=%f&";
[format appendString:attributes];

// create an FBGraphObject object, but we can treat it as
// an FBRoute with typed properties, etc. See <FacebookSDK/FBGraphObject.h>
// for more details.
id<FBLocation> result = (id<FBLocation>)[FBGraphObject graphObject];

// Give it a URL that will echo back the name of the meal as its title,
// description, and body.
result.url = [NSString stringWithFormat:format, ogObject, title, catagory, 10, 4,     coordinate.latitude, coordinate.longitude];

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# fb: http://ogp.me/ns/fb# vaarapp: http://ogp.me/ns/fb/vaarapp#">
    <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['app:description']);?>">

    <meta property="app:location:latitude"      content="<?php echo strip_tags($_REQUEST['app:location:latitude']);?>">
    <meta property="app:location:longitude"     content="<?php echo strip_tags($_REQUEST['app:location:longitude']);?>">

    <meta property="app:distance" content="<?php echo strip_tags($_REQUEST['app:distance']);?>">
    <meta property="app:time" content="<?php echo strip_tags($_REQUEST['app:time']);?>">








    <!-- <meta property="app:route:latitude" content="52.24525">
    <meta property="app:route:longitude" content="4.948997">
    <meta property="app:route:altitude" content="0.01">
    <meta property="app:route:latitude" content="52.24525">
    <meta property="app:route:longitude" content="4.948997">
    <meta property="app:route:altitude" content="0.01">
    <meta property="app:route:latitude" content="52.239785">
    <meta property="app:route:longitude" content="4.920502">
    <meta property="app:route:altitude" content="0.01">
    <meta property="app:route:latitude" content="52.233162">
    <meta property="app:route:longitude" content="4.978008">
    <meta property="app:route:altitude" content="0.01"> -->
4

1 に答える 1

0

phpに座標を追加することで修正されました。大きなURLは必要ありません。

于 2013-03-19T14:51:45.763 に答える