社交网站几乎已经成为了我们日常网络生活中不可缺少的一部分。发布一条微博,或发一条人人状态,就会被很多人看到。社交网站一般都会在发布的微博/状态旁边显示来源,而这些来源一般都是社交网站本身。其实,这些来源是可以修改的,我们可以按照自己的需要,将其更改为符合自己宣传需求的来源,并且使得看到这条消息的朋友点击来源后可以直接跳转到我们自己的网站。如果应用合理得当,这将可以很好地帮助我们在社交圈内宣传我们的网站。今天我以新浪微博和人人网为例,叙述一下怎样设置显示来源。设置来源的效果如下图所示,分别为新浪的微博和人人网状态。
首先我们要明白来源显示的原理。众所周知,社交网站一般都会对外开放其部分资源,使得开发者可以利用这个社交平台设计应用,达到互利共赢的目的。通过应用所发送的微博或者状态就可以直接显示出应用名作为其来源,而如果这个应用是一个网站,用户点击来源后就可以跳转到我们自己的网站。利用这样一个条件,我们就可以在人人网和新浪微博上设置显示来源。后面的操作建立在已经申请到已审核应用的基础上,如果没有申请,请到新浪微博的开放平台open.weibo.com和人人开放平台dev.renren.com上申请。
新浪微博的微博发送API比较简单,新浪官方的SDK中就包含了发送的模块,我们可以直接使用即可。点击这里下载新浪微博的PHP版SDK,下载后打开config.php文件,填好你的APP-ID, APP-SecretKey, 还有即将上传的callback.php的URL. 修改完毕后,将这几个文件全部上传到你的某个网站的某个文件夹中,并再次检验这几个数据,尤其是callback.php的URL是否正确。然后我们登录微博开放平台,在具体的应用下面找到回调地址的选项,将其设为callback.php的URL. 这样,我们访问文件夹,就可以登录并发送微博了,此时发送的微博将以你的网站作为来源,可以直接链入。
而与之相反的,人人网的API调用则相对比较麻烦。在这里我需要阐述一下人人网API调用的简单流程。首先,我们将应用的名称、需要的权限告知人人网,人人网提供登录界面给用户登录。用户登录后则对应我们刚才申请的权限来进行授权,授权成功则通知人人网,人人网返回一个code, 我们通过这个code向人人网换取一个access_token。之后,凭借着这个access_key, 我们就可以调用人人网提供的API来进行权限以内的操作。人人网提供了相关的SDK,不过我下载下来看了以后发现,这个PHP的SDK实在是臃肿不堪,而且语法错误甚多,几番修改后仍然编译完全不能通过,因此我们这里需要自己编写文件调用API。说到这里我不得不吐槽一下,几个月之前还用的好好的1.0版API,这两个月人人突然升级版本,于是我的所有人人API的部分全部都得重写。。。=_=^!!!好吧不说这个了,看代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
$APIKey = 'b0123asfd13r23dag6xopzv2213rr'; //这里填写你的APIKey
$SecretKey = '87yhu7vbb9qioppsc12i332bqzz02y77e'; //这里填写你的SecretKey
$redirecturi = 'http://your_website/renren.php'; //这个页面的绝对URL
$scope ='read_user_status,status_update'; //申请的权限(发状态)
if (($code = $_REQUEST['code'])!=null)
$step = 2;
else
$step = 1;
switch($step){
case 1:
$url = "http://graph.renren.com/oauth/authorize?client_id=$APIKey&response_type=code&scope=$scope&redirect_uri=$redirecturi";
echo "<a href="$url">登录</a><br />"; //进行OAuth验证
break;
case 2:
$url = "http://graph.renren.com/oauth/token?client_id=$APIKey&code=$code"."&grant_type=authorization_code&client_secret=$SecretKey&redirect_uri=$redirecturi";
$return_key = file_get_contents($url); //申请access_token
$decoded_key = json_decode($return_key);
$access_token = $decoded_key->;access_token; //解码json格式的access_token
if(!empty($access_token)){
$api_url = "https://api.renren.com/v2/status/put";
echo "<form name="Form1" action=$api_url method="POST"><input name="access_token" type="hidden" value="$access_token"><input name="content" type="text"><input name="button1" type="submit" value="发状态"></form><br />";
} //调用API发状态
else
echo "获取access_token错误,发状态失败<br />";
break;
default: break;
}
?>
将该脚本保存到你的网站上设为renren.php,则登录后就完成了发状态的API调用。这样发送的状态,会显示出来自某某某网站的来源提示,点击可以跳转到我们的网站,达到了宣传的目的。
其他的社交网站,比如搜狐微博、腾讯微博,甚至Twitter和Facebook,都是类似的,如果需要建立应用,直接读一读开放平台提供的文档即可,即便是PHP小白(或者其他语言)也可以轻松编写出我们需要的功能。
转载请注明转自香菇肥牛的博客http://qing.su
SEO说简单就简单,说难就难
soga!!原来是这个
已经用多说了。。。但是又想显示自己的博客名字真纠结。。。
赞一个