对接新浪API生成短连接

博客提供了新浪对接示例,包含配置文件,其对接地址为新浪相关地址,还给出了微博开放平台接口文档链接,方便进行新浪对接开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对接示例

import java.net.URI;
import java.util.List;

import org.bachelor.manager.domain.DwzXinLangResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

import com.google.common.reflect.TypeToken;
import com.google.gson.Gson;

import cn.com.mwsoft.comm.AESUtil;
import io.swagger.annotations.ApiOperation;

/**
 * @author GT 2019年05月16日
 */

@RestController
public class ShortURL {

	@Value("${xinlang.createApi:#{null}}")
	private String CREATE_API;

	@Autowired
	RestTemplate restTemplate;

	/**
	 * 创建短网址
	 *
	 * @param longUrl 长网址:即原网址
	 * @return 成功:短网址 失败:返回空字符串
	 */
	@ApiOperation(value = "短网址生成接口", notes = "短网址生成接口")
	@PostMapping(value = "/createShortUrl")
	public String createShortUrl(@RequestParam("longUrl") String longUrl) {
		// api地址
		String address = CREATE_API + "&url_long=" + AESUtil.getURLEncoderString(longUrl);

		ResponseEntity<String> forEntity;
		String url_short = "";
		try {
			forEntity = restTemplate.getForEntity(new URI(address), String.class);

			String response = forEntity.getBody();
			// 抽取生成短网址
			List<DwzXinLangResponse> urlResponse = new Gson().fromJson(response,
					new TypeToken<List<DwzXinLangResponse>>() {
					}.getType());
			if (urlResponse != null && urlResponse.size() >= 1) {
				url_short = urlResponse.get(0).getUrl_short();
			}

		} catch (Exception e) {
			url_short = "";
		}
		return url_short;
	}
}

配置文件(新浪对接地址):

xinlang:
  createApi: http://api.t.sina.com.cn/short_url/shorten.json?source=XXXXXXX
//source是微博开放平台申请应用时分配的AppKey

微博开放平台接口文档:https://open.weibo.com/wiki/Short_url/shorten

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值