1

フラッシュas3WebサイトからURLを共有しようとしていますが、正しく機能させることができません...ここに示す両方の方法を試しました:AS3で共有ボタンを作成する方法

最初のものは動作します:

import flash.net.navigateToURL;
import flash.net.URLVariables;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;

share_btn.addEventListener(MouseEvent.CLICK, shareClickHandler);

function shareClickHandler(evt:MouseEvent):void
{
    var varsShare:URLVariables = new URLVariables();
    varsShare.u = 'http://domain.com/pageN.html';
    varsShare.t = 'Title Page';

    var urlFacebookShare:URLRequest = new URLRequest('http://www.facebook.com/sharer.php');
    urlFacebookShare.data = varsShare;
    urlFacebookShare.method = URLRequestMethod.GET;

    navigateToURL(urlFacebookShare, '_blank');
}

しかし、投稿には次のように書かれています:

In order to use a picture add the following Metatags:
<meta name="title" content="my title" />
<meta name="description" content="my description" />
<link rel="image_src" href="images/thumbnail_image.jpg" />

しかし、どのように????

2番目の解決策は、パラメーターを追加する方法を示しています。

var req:URLRequest = new URLRequest();
req.url = "http://www.facebook.com/dialog/feed";
var vars:URLVariables = new URLVariables();
vars.app_id = "000000000000"; // your application's id
vars.link = "http://YourSite.com";
vars.picture = "https://www.google.com/intl/en_com/images/srpr/logo3w.png";
vars.name = "name name";
vars.caption = "caption caption caption";
vars.description = "description description description";
vars.message = "message message message message message";
vars.redirect_uri = "http://YourSite.com";
req.data = vars;
req.method = URLRequestMethod.GET;
navigateToURL(req, "_blank");

しかし、Facebookの共有者を使用していません.....両方のソリューションを組み合わせるために多くの異なる方法を試しましたが、奇妙なURLが機能しないだけです...

誰かがそれを手伝ってくれますか、それとも共有者と一緒にその2番目のソリューションを使用する方法を教えてもらえますか?

助けてくれてありがとう

4

3 に答える 3

0

私が通常行うこと - Facebook アプリケーションを作成します。

function postToFacebook(link){              
                var caption = encodeURIComponent("this is cool");
                var name = encodeURIComponent("My cool Site");
                var pathToPicture = "http://yoursite.com/coolpicture.jpg";
                var redirect = "http://yoursite.com/redirect.html";
                var id = "123456789098876"; // your application id
                var theLink = link; // the link you want to share - this is passed as a variable from flash, similary you can pass any variables from  flash    

                var fbencoded = "http://www.facebook.com/dialog/feed?app_id=" + id + "&link=" + theLink + "&picture=" + pathToPicture + "&name=" + name +   "&caption=" + caption+ "&redirect_uri=" + redirect;
                window.open(fbencoded, "_blank");        
}

共有したいときはいつでもFlashでこのJavaScript関数を呼び出すだけで、Facebook共有ウィンドウで新しいウィンドウが開きます。

ExternalInterface.call("postToFacebook", "http://mysite.com/#/cool-page")

このようにして、任意の変数をその関数に渡すことができます。たとえば、メタ タグだけでは不可能な、誰かが共有するたびに異なる写真を表示することができます.....

唯一のことは、redirect.html を作成する必要があることです。これは、アプリケーションにリンクされているドメイン内にある必要があります。リダイレクトでは、次のように簡単なものを使用できます。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title></title>
    <meta http-equiv="REFRESH" content="0;url=http://www.facebook.com">
</head>
<body>

</body>
</html>

ユーザーをFacebookにリダイレクトするだけです。お役に立てれば。

于 2012-06-03T14:22:38.823 に答える
0

これは、AS3 のボタンから共有ダイアログを使用する方法です。お役に立てば幸いです

import flash.net.navigateToURL;

share_btn.addEventListener(MouseEvent.CLICK, shareClickHandler);

function shareClickHandler(evt:MouseEvent):void
{
    var fb_title = "titulo";
    var fb_desc = "descripcion";
    var fb_url = "http://mibff.com.mx/";
    var fab_img = "http://mibff.com.mx/MiBFF_new.jpg";
    var facebookSharer:String = "http://www.facebook.com/sharer.php?s=100&p[title]=" + fb_title + "&p[summary]=" + fb_desc + "&p[url]=" + fb_url + "&p[images][0]=" + fab_img;
    var jscommand:String = "window.open('" + facebookSharer + "','win','width=626,height=316,toolbar=no,scrollbars=no,resizable=no');";
    var sharer:URLRequest = new URLRequest("javascript:" + jscommand + " void(0);");
    navigateToURL(sharer,"_self");

    //trace(facebookSharer);
}
于 2013-09-04T20:33:49.877 に答える
0

共有しようとしているページに OpenGraph メタ タグを追加する必要があります (http://domain.com/pageN.html上記の例では `)。Facebook 共有スクリプトが取得できるように、質問で指定したメタタグをそこに追加する必要があります。

<head>HTML コードのと</head>タグの間に次のコードを追加します。

<meta name="title" content="my title" />
<meta name="description" content="my description" />
<link rel="image_src" href="images/thumbnail_image.jpg" />
于 2012-05-30T10:33:07.270 に答える