如何在 adobe muse 中创建自定义 FB 共享按钮?
How do I create a Custom FB share button in adobe muse?
我是这个领域和 Whosebug 的新手,所以请多多包涵。
我已经在 muse 中创建了一个网站(当然是设计而不是编码),
这是我的问题...只是在创建 "Fb share button"
但我想到了一个主意
第 1 步,当用户点击按钮时,加载带有 fb 登录或分享菜单的灯箱
第 2 步,当用户输入必要的信息时,它会张贴在他们的墙上
第 3 步,将他们重定向到另一个页面。
请帮帮我...
首先您需要创建一个新的 facebook 应用程序Setup App Here
然后你需要下载facebook PHP SDK
Here
此时您需要将 SDK 解压缩到您托管网站的根目录。
如果您在本地主机上工作,您需要安装 xampp wamp lamp or mamp
以便在您的本地主机上正确设置服务器来测试您 php
这是因为 php
一种服务脚本语言。如果您不熟悉 php,请按照本教程学习 php 和 运行,然后才能完成本教程。 PHP Setup Here
如果您更喜欢视频教程,youtube.com
上有很多
在服务器或本地主机上安装 facebook sdk and php
运行 后,您需要连接到 facebook,
在您的新目录中创建一个新的 PHP 文件并添加以下代码:
<?php
session_start();
require_once 'facebook-php-sdk/autoload.php';
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;
use Facebook\FacebookRedirectLoginHelper;
$api_key = 'FACEBOOK_APP_ID';
$api_secret = 'FACEBOOK_APP_SECRET';
$redirect_login_url = 'http://www.yoursite.com/somefolder/file.php';
To post a link 到用户的 Facebook 时间线,应用程序需要授权。这实际上是一个复杂的函数,请将此代码添加到 PHP 文件中其他代码的下方。
/ initialize your app using your key and secret
FacebookSession::setDefaultApplication($api_key, $api_secret);
// create a helper opject which is needed to create a login URL
// the $redirect_login_url is the page a visitor will come to after login
$helper = new FacebookRedirectLoginHelper( $redirect_login_url);
// First check if this is an existing PHP session
if ( isset( $_SESSION ) && isset( $_SESSION['fb_token'] ) ) {
// create new session from the existing PHP sesson
$session = new FacebookSession( $_SESSION['fb_token'] );
try {
// validate the access_token to make sure it's still valid
if ( !$session->validate() ) $session = null;
} catch ( Exception $e ) {
// catch any exceptions and set the sesson null
$session = null;
echo 'No session: '.$e->getMessage();
}
} elseif ( empty( $session ) ) {
// the session is empty, we create a new one
try {
// the visitor is redirected from the login, let's pickup the session
$session = $helper->getSessionFromRedirect();
} catch( FacebookRequestException $e ) {
// Facebook has returned an error
echo 'Facebook (session) request error: '.$e->getMessage();
} catch( Exception $e ) {
// Any other error
echo 'Other (session) request error: '.$e->getMessage();
}
}
现在我根据响应创建一个 GraphObject,然后脚本将数据输出到浏览器。我将 Facebook 消息 ID 用于第二个请求:
if ( isset ( $msgid ) ) {
// we only need to the sec. part of this ID
$parts = explode('_', $msgid);
try {
$request2 = new FacebookRequest(
$session,
'GET',
'/'.$parts[1]
);
$response2 = $request2->execute();
$graphObject2 = $response2->getGraphObject();
// the GET response object
echo '<pre>' . print_r( $graphObject2, 1 ) . '</pre>';
} catch ( FacebookRequestException $e ) {
// show any error for this facebook request
echo 'Facebook (get) request error: '.$e->getMessage();
}
}
最后但同样重要的是,我们看一下创建登录的代码 URL(将此代码放在另一个代码下方)。
} else {
// we need to create a new session, provide a login link
echo 'No session, please <a href="'. $helper->getLoginUrl( array( 'publish_actions' ) ).'">login</a>.';
}
按照本教程,用户将连接到 facebook 进行登录,然后允许您 post link 到 facebook 用户的时间线。这不是一项简单的任务,需要反复试验,尤其是如果您是此类事物的新手。
可以在此处找到我以此为基础的完整教程,
Muse 已经内置了此类功能,只需查看小部件背后的社交功能即可。
与使用 php 设置页面相比,这要容易得多。
另请访问 Facebook SDK 文档并阅读有关如何重定向链接的更多信息。
如果您按照这些说明进行操作,而不是使用 php 创建所有内容,这会更容易,后者要复杂得多。
我是这个领域和 Whosebug 的新手,所以请多多包涵。
我已经在 muse 中创建了一个网站(当然是设计而不是编码),
这是我的问题...只是在创建 "Fb share button"
但我想到了一个主意
第 1 步,当用户点击按钮时,加载带有 fb 登录或分享菜单的灯箱
第 2 步,当用户输入必要的信息时,它会张贴在他们的墙上
第 3 步,将他们重定向到另一个页面。
请帮帮我...
首先您需要创建一个新的 facebook 应用程序Setup App Here
然后你需要下载facebook PHP SDK
Here
此时您需要将 SDK 解压缩到您托管网站的根目录。
如果您在本地主机上工作,您需要安装 xampp wamp lamp or mamp
以便在您的本地主机上正确设置服务器来测试您 php
这是因为 php
一种服务脚本语言。如果您不熟悉 php,请按照本教程学习 php 和 运行,然后才能完成本教程。 PHP Setup Here
如果您更喜欢视频教程,youtube.com
上有很多在服务器或本地主机上安装 facebook sdk and php
运行 后,您需要连接到 facebook,
在您的新目录中创建一个新的 PHP 文件并添加以下代码:
<?php
session_start();
require_once 'facebook-php-sdk/autoload.php';
use Facebook\FacebookSession;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;
use Facebook\FacebookRedirectLoginHelper;
$api_key = 'FACEBOOK_APP_ID';
$api_secret = 'FACEBOOK_APP_SECRET';
$redirect_login_url = 'http://www.yoursite.com/somefolder/file.php';
To post a link 到用户的 Facebook 时间线,应用程序需要授权。这实际上是一个复杂的函数,请将此代码添加到 PHP 文件中其他代码的下方。
/ initialize your app using your key and secret
FacebookSession::setDefaultApplication($api_key, $api_secret);
// create a helper opject which is needed to create a login URL
// the $redirect_login_url is the page a visitor will come to after login
$helper = new FacebookRedirectLoginHelper( $redirect_login_url);
// First check if this is an existing PHP session
if ( isset( $_SESSION ) && isset( $_SESSION['fb_token'] ) ) {
// create new session from the existing PHP sesson
$session = new FacebookSession( $_SESSION['fb_token'] );
try {
// validate the access_token to make sure it's still valid
if ( !$session->validate() ) $session = null;
} catch ( Exception $e ) {
// catch any exceptions and set the sesson null
$session = null;
echo 'No session: '.$e->getMessage();
}
} elseif ( empty( $session ) ) {
// the session is empty, we create a new one
try {
// the visitor is redirected from the login, let's pickup the session
$session = $helper->getSessionFromRedirect();
} catch( FacebookRequestException $e ) {
// Facebook has returned an error
echo 'Facebook (session) request error: '.$e->getMessage();
} catch( Exception $e ) {
// Any other error
echo 'Other (session) request error: '.$e->getMessage();
}
}
现在我根据响应创建一个 GraphObject,然后脚本将数据输出到浏览器。我将 Facebook 消息 ID 用于第二个请求:
if ( isset ( $msgid ) ) {
// we only need to the sec. part of this ID
$parts = explode('_', $msgid);
try {
$request2 = new FacebookRequest(
$session,
'GET',
'/'.$parts[1]
);
$response2 = $request2->execute();
$graphObject2 = $response2->getGraphObject();
// the GET response object
echo '<pre>' . print_r( $graphObject2, 1 ) . '</pre>';
} catch ( FacebookRequestException $e ) {
// show any error for this facebook request
echo 'Facebook (get) request error: '.$e->getMessage();
}
}
最后但同样重要的是,我们看一下创建登录的代码 URL(将此代码放在另一个代码下方)。
} else {
// we need to create a new session, provide a login link
echo 'No session, please <a href="'. $helper->getLoginUrl( array( 'publish_actions' ) ).'">login</a>.';
}
按照本教程,用户将连接到 facebook 进行登录,然后允许您 post link 到 facebook 用户的时间线。这不是一项简单的任务,需要反复试验,尤其是如果您是此类事物的新手。
可以在此处找到我以此为基础的完整教程,
Muse 已经内置了此类功能,只需查看小部件背后的社交功能即可。
与使用 php 设置页面相比,这要容易得多。
另请访问 Facebook SDK 文档并阅读有关如何重定向链接的更多信息。
如果您按照这些说明进行操作,而不是使用 php 创建所有内容,这会更容易,后者要复杂得多。