本篇文章给大家谈谈用api接口做网站的源码,以及api开源对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享用api接口做网站的源码的知识,其中也会对api开源进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
怎么为自己的网站编写api接口
80%的都用webservice 新浪微博API(java版) ============================ 修改事项: 1、接口返回结果采用json对象方式封装 2、修改WeiboResponse中空字符串("")调用判断的bug 3、修改了JSONObject中返回空对象的问题 4、增加了直接文件上传接口直接 常用接口实例: (使用前先修改 Weibo.java 中 public static final String CONSUMER_KEY = ""; public static final String CONSUMER_SECRET = ""; 填写成实际申请的 CONSUMER_KEY 及 CONSUMER_SECRET) 1、获取最新公共微博列表 参考:weibo4j.examples.GetTimelines 中的getPublicTimeline()部分 2、发表微博 参考:weibo4j.examples.Update 中的updateStatus(...)部分 3、发表评论 参考:weibo4j.examples.Update 中的updateComment(...)部分 4、删除评论 参考:weibo4j.examples.Update 中的destroyComment(...)部分 5、发送私人消息 参考:weibo4j.examples.DirectMessage 类 6、发表带图片的微博 参考:weibo4j.examples.OAuthUploadByFile 中的uploadStatus(status,file)部分 7、更新用户头像 参考:weibo4j.examples.OAuthUpdateProfile类 8、OAuth桌面应用访问 步骤: 1 在weibo4j.examples.OAuthUpdate 访问认证的URL,得到pin 2 在weibo4j.examples.OAuthUpdate 输入pin,然后得到AccessToken 3 即可访问用户的微博,参考:weibo4j.examples.OAuthUpdateTwo 9、OAuth WEB应用访问 步骤: 1 在weibo4j.examples.WebOAuth 带backurl参数请求OAuth认证,获得RequestToken 2 在callback 的地址里面,接受到oauth_verifier参数,然后再发一次请求,即可获得AccessToken 3 用AccessToken访问用户的微博 实例说明: 在web目录下面有两个jsp页面: call.jsp 是发送request的请求,在第九行的参数“http://localhost:8080/callback.jsp”是回调地址 当获取成功后将RequestToken置入session,并重定向到用户认证地址 callback.jsp 接收到oauth_verifier参数,从session里面拿到RequestToken,再请求获取AccessToken 获取到后即可对用户微博进行操作,本例中是发表微博 测试环境: 本例中可以将call.jsp和 callback.jsp直接放到tomcat的根目录下面:webapps\ROOT 并将实例项目编译好的classes文件和lib目录拷贝到ROOT\WEB-INF下面 重启tomcat,访问http://localhost:8080/call.jsp?opt=1 注:也可以打成war包,但注意call.jsp里面的callback参数需要做相应修改 ============================================================================= 其他接口在weibo4j.Weibo类中定义,调用方式请参考weibo4j.examples,下面是完整的接口列表: 获取下行数据集(timeline)接口 方法名: statuses/public_timeline 最新公共微博 方法名:getPublicTimeline statuses/friends_timeline 最新关注人微博 (别名: statuses/home_timeline) 方法名:getFriendsTimeline statuses/user_timeline 用户发表微博列表 方法名:getUserTimeline(String id, Paging paging) statuses/mentions 最新 @用户的 方法名: getMentions() statuses/comments 单条评论列表(按微博) 方法名:getComments() 微博访问接口 statuses/show 获取单条 方法名:showStatus(long id) statuses/update 发表微博 方法名:updateStatus(String status) statuses/upload 发表微博及图片 方法名:uploadStatus(String status,File file) statuses/destroy 删除 方法名: destroyStatus(long statusId) statuses/comment 评论 方法名: destroyComment(long commentId) statuses/comment_destroy 删除评论 方法名:destroyComment 私信接口 direct_messages 我的私信列表 方法名:getDirectMessages() 分页 getDirectMessages(Paging paging) direct_messages/sent 我发送的私信列表 方法名:getSentDirectMessages() direct_messages/new 发送私信 方法名:sendDirectMessage(String id,String text) direct_messages/destroy 删除一条私信 方法名:destroyDirectMessage(int id) 关注接口 friendships/create 关注某用户 方法名:createFriendship(String id)或 createFriendship(String id, boolean follow) friendships/destroy 取消关注 方法名: destroyFriendship(String id) friendships/exists 是否关注某用户 方法名:existsFriendship(String userA, String userB) friends/ids 关注列表 方法名: getFriendsIDs(long cursor) followers/ids 粉丝列表 方法名:getFollowersIDs(long cursor) 账号接口 account/verify_credentials 验证身份是否合法 方法名:verifyCredentials() account/rate_limit_status 查看当前频率限制 方法名:rateLimitStatus() account/update_profile_image 更改头像 方法名:updateProfileImage(File image) account/update_profile 更改资料 方法名:User updateProfile(String name, String email, String url, String location, String description) 收藏接口 favorites 收藏列表 方法名:getFavorites() favorites/create 添加收藏 方法名:createFavorite(long id) favorites/destroy 删除收藏 方法名:destroyFavorite(long id)
采纳哦
拿到api数据接口该如何怎么写到自己的HTML里面
推荐使用jquery
用api接口做网站的源码,原生
用api接口做网站的源码的ajax太繁琐
$.ajax({
url: '后台提供
用api接口做网站的源码的Url',
type: "POST", //获取用get,提交的话用post
dataType: "json",
data:{
XXX:XXX //后台需要你传的数据
},
success: function (result) {
console.log(result); //这里就能打印出数据了
}
});
什么是API,这个和做网站有什么区别?
我帮你解释吧。
你问的可能是web api,就是网站提供的对外接口。
比如sina提供天气预报接口,这个api也要通过域名访问。
应当属于网站的一部分,当然也可以和网站单独部署。
这个网站是专业的web api网站,你可以参考一下。
域名是apihi。
拿到了别的网站提供的API接口文件,是不是还要自己做网站啊?
API:Application Programming Interface,应用程序开发接口。
就是说,只是提供了一个功能接入的接口。但是具体的功能实现,页面的布局,以及其他的网站实现技术还得找人来做。
如何使用百度云API接口
http://developer.baidu.com/wiki/index.php?title=%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3%E9%A6%96%E9%A1%B5/%E8%B5%84%E6%BA%90%E4%B8%8B%E8%BD%BD
学习了百度云盘文件API接口的使用;初步是想做一个在线android应用,应用中的文档是存放在百度云盘的。
主要是分一下几个步骤:
1.注册百度账号
2.登录百度开发者中心
3.创建移动应用,获取对应的(API Key Secret Key)
4.开通pcs API权限
5.获取ACCESS_token(认证编码)
6.开发应用
注意:
开通移动应用,获取key
获取token的时候我使用的安卓获取的方式
通过我写对应api的例子我发现,其实就两种情况:一种是get方式提交数据,另外一种是post方式提交数据
1.get方式提交数据,我们用获取云盘的信息为例:
获取云盘信息前我们要知道,我们要准备好什么数据:
请求参数:
url: 标明我们要访问的网址路径 值固定问""
method:标明我们是请求云盘信息 值固定为"info"
acceess_token:准入标识 值是我们自己申请的
接收返回参数:
quota:云盘总容量
used:云盘使用容量
request_id:该请求的表示,没啥用
返回的一个json串如下格式:{"quota":123794882560, "used":83573494688,"request_id":2853739529}
我在做的时候你使用Gson工具将json串转换到对应的entity类中了 代码如下:
[html] /**
* @param URLConnection conn通过get方式获取StringBuffer
* @return
*/
private StringBuffer getJsonString(URLConnection conn) {
InputStreamReader isr = null;
BufferedReader br = null;
StringBuffer sb = null;
try {
isr = new InputStreamReader(conn.getInputStream(),"gb2312");
br = new BufferedReader(isr);
String line = null;
sb = new StringBuffer();
while ((line = br.readLine()) != null) {
sb.append(line);
sb.append("\r\n");
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
if(isr!=null)
isr.close();
} catch (IOException e) {
System.out.println("流关闭是异常");
e.printStackTrace();
}
}
return sb;
}
/**
* @return
* @throws Exception
* 获取云空间的信息
*/
public CloudInfo getCloudInfo() throws Exception {
URL u = new URL("?method=infoaccess_token=你申请的token的值";
URLConnection conn = u.openConnection();// 打开网页链接
// 获取用户云盘信息
String cloudJson = this.getJsonString(conn)。toString();
// 解析成对象 下面有这个实体对象的类
Gson gson = new Gson();
CloudInfo cloudInfo = gson.fromJson(cloudJson, CloudInfo.class);
System.out.println("云盘信息:"+cloudInfo);
return cloudInfo;
}
/**
* @param URLConnection conn通过get方式获取StringBuffer
* @return
*/
private StringBuffer getJsonString(URLConnection conn) {
InputStreamReader isr = null;
BufferedReader br = null;
StringBuffer sb = null;
try {
isr = new InputStreamReader(conn.getInputStream(),"gb2312");
br = new BufferedReader(isr);
String line = null;
sb = new StringBuffer();
while ((line = br.readLine()) != null) {
sb.append(line);
sb.append("\r\n");
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
if(isr!=null)
isr.close();
} catch (IOException e) {
System.out.println("流关闭是异常");
e.printStackTrace();
}
}
return sb;
}
/**
* @return
* @throws Exception
* 获取云空间的信息
*/
public CloudInfo getCloudInfo() throws Exception {
URL u = new URL("?method=infoaccess_token=你申请的token的值";
URLConnection conn = u.openConnection();// 打开网页链接
// 获取用户云盘信息
String cloudJson = this.getJsonString(conn)。toString();
// 解析成对象 下面有这个实体对象的类
Gson gson = new Gson();
CloudInfo cloudInfo = gson.fromJson(cloudJson, CloudInfo.class);
System.out.println("云盘信息:"+cloudInfo);
return cloudInfo;
}
[html] package com.entity;
import java.lang.reflect.Type;
/**
* @author ydcun 获取云空间的信息 例如:
* {"quota":123794882560, 空间配额,单位为字节
* "used":83573494688, 已使用空间大小 单位为字节。
* "request_id":2853739529}
*/
public class CloudInfo{
private Double quota;
private Double used;
private Double request_id;
/**
* @return the quota 空间配额,单位为字节
*/
public Double getQuota() {
return quota;
}
/**
* @param quota the quota to set 空间配额,单位为字节
*/
public void setQuota(Double quota) {
this.quota = quota;
}
/**
* @return the used 已使用空间大小 单位为字节
*/
public Double getused() {
return used;
}
/**
* @param used the used to set 已使用空间大小 单位为字节
*/
public void setused(Double used) {
this.used = used;
}
/**
* @return the request_id
*/
public Double getRequest_id() {
return request_id;
}
/**
* @param request_id the request_id to set
*/
public void setRequest_id(Double request_id) {
this.request_id = request_id;
}
@Override
public String toString() {
return new StringBuffer()。append("空间容量:")。append(this.getQuota()/1024/1024)。append("M; 已用:")。append(this.getused()/1024/1024)。append("M; ")。toString();
}
}
package com.entity;
import java.lang.reflect.Type;
/**
* @author ydcun 获取云空间的信息 例如:
* {"quota":123794882560, 空间配额,单位为字节
* "used":83573494688, 已使用空间大小 单位为字节。
* "request_id":2853739529}
*/
public class CloudInfo{
private Double quota;
private Double used;
private Double request_id;
/**
* @return the quota 空间配额,单位为字节
*/
public Double getQuota() {
return quota;
}
/**
* @param quota the quota to set 空间配额,单位为字节
*/
public void setQuota(Double quota) {
this.quota = quota;
}
/**
* @return the used 已使用空间大小 单位为字节
*/
public Double getused() {
return used;
}
/**
* @param used the used to set 已使用空间大小 单位为字节
*/
public void setused(Double used) {
this.used = used;
}
/**
* @return the request_id
*/
public Double getRequest_id() {
return request_id;
}
/**
* @param request_id the request_id to set
*/
public void setRequest_id(Double request_id) {
this.request_id = request_id;
}
@Override
public String toString() {
return new StringBuffer()。append("空间容量:")。append(this.getQuota()/1024/1024)。append("M; 已用:")。append(this.getused()/1024/1024)。append("M; ")。toString();
}
}
2.通过post方式提交 我用上传单个文件为例子:
同样我们也先了解下上传文件要参数设置:
请求参数:
url: 标明我们要访问的网址路径 值固定问""
method:标明我们是请求云盘信息 值固定为"upload"
acceess_token:准入标识 值是我们自己申请的
path:是我们要上传到云盘的那个路径下 如/apps/myBaiduCloud/ myBaiduCloud是我们的应用名称(当你获取koten后就会自动生成以你应用名称为名的文件夹)
file:这个就是我们要上传的文件了(要求用post方式上传)
ondup:可选参数,标识当有重名的文件的时候处理方式具体见api
接收返回参数:
返回的也是json串,
path:为我们上传的文件保存的全路径
size:文件的大小有多少字节
ctime/mtime:文件的创建修改时间
其他参数介绍点小标题去api中查看
{
"path" : "/apps/album/README.md"
"size" : 372121,
"ctime" : 1234567890,
"mtime" : 1234567890,
"md5" : "cb123afcc12453543ef",
"fs_id" : 12345,
"request_id":4043312669
}
我在做的时候也是将其封装到实体类中了,这里和上面一样不详述,我们重点看下提交文件是怎么提交的代码如下:
[java] /**
* @param path 云盘存放路径
* @param name 要上传的文件
* @return
* @throws Exception
*/
public FileBase uploadFile(String path,File file) throws Exception{
//模拟文件
String fileName="README.md";
file = new File(fileName);
path="%2fapps%2fmybaidu%2f"; // 我用的是url编码过源码为:- "/apps/mybaidu/
/"
//将需要url传值的参数和url组装起来
String u =""+path+file.getName()+"method=uploadaccess_token=你自己申请的token值";
PostMethod filePost = new PostMethod(u);
//post提交的参数
Part[] parts = {new FilePart(fileName,file)};
//设置多媒体参数,作用类似form表单中的enctype="multipart/form-data"
filePost.setRequestEntity(new MultipartRequestEntity(parts, filePost.getParams()));
HttpClient clients = new HttpClient();
//响应代码
int status = clients.executeMethod(filePost);
System.out.println("成功上传"+path+fileName);
BufferedReader buReader = new BufferedReader(new InputStreamReader(filePost.getResponseBodyAsStream(),"utf-8"));
StringBuffer sb = new StringBuffer();
String line;
while((line=buReader.readLine())!=null){
sb.append(line);
}
buReader.close();
// 解析成对象
Gson gson = new Gson();
FileBase cloudInfo = gson.fromJson(sb.toString(), FileBase.class);
return cloudInfo;
}
/**
* @param path 云盘存放路径
* @param name 要上传的文件
* @return
* @throws Exception
*/
public FileBase uploadFile(String path,File file) throws Exception{
//模拟文件
String fileName="README.md";
file = new File(fileName);
path="%2fapps%2fmybaidu%2f"; // 我用的是url编码过源码为:- "/apps/mybaidu/
/"
//将需要url传值的参数和url组装起来
String u =""+path+file.getName()+"method=uploadaccess_token=你自己申请的token值";
PostMethod filePost = new PostMethod(u);
//post提交的参数
Part[] parts = {new FilePart(fileName,file)};
//设置多媒体参数,作用类似form表单中的enctype="multipart/form-data"
filePost.setRequestEntity(new MultipartRequestEntity(parts, filePost.getParams()));
HttpClient clients = new HttpClient();
//响应代码
int status = clients.executeMethod(filePost);
System.out.println("成功上传"+path+fileName);
BufferedReader buReader = new BufferedReader(new InputStreamReader(filePost.getResponseBodyAsStream(),"utf-8"));
StringBuffer sb = new StringBuffer();
String line;
while((line=buReader.readLine())!=null){
sb.append(line);
}
buReader.close();
// 解析成对象
Gson gson = new Gson();
FileBase cloudInfo = gson.fromJson(sb.toString(), FileBase.class);
return cloudInfo;
}
上面代码成功后我们就会在/apps/mybaidu/目录下找到README.md文件
commons-codec-1.3.jar
commons-
commons-logging.jar
gson-2.2.1.jar
jsoup-1.6.3.jar
关于用api接口做网站的源码和api开源的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
用api接口做网站的源码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于api开源、用api接口做网站的源码的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~