cocos2d-x之新浪微博平台接入接口

2024-06-02 07:08

本文主要是介绍cocos2d-x之新浪微博平台接入接口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

分类: IOS开发 C/C++/汇编 Cocos2d-X 2758人阅读 评论(5) 收藏 举报

目录(?)[+]

简介

本文档主要介绍接入新浪平台的一些内容,便于查阅和使用。

第一步:认证准备

新浪微博的SDK放在github上面,下载地址:https://github.com/mobileresearch/weibo_ios_sdk_sso-oauth,也可直接在控制台中输入gitclonehttps://github.com/mobileresearch/weibo_ios_sdk_sso-oauth.git将代码下载下来。

将sinaweibo_ios_sdk这个目录添加到工程中,这样可以在代码中使用新浪微博API了。

微博SDK不像facebookSDK那样需要在Info.plist里面设置数据,新浪微博的认证都是通过代码完成的。

 认证代码如下:
[cpp] view plain copy
  1. bool SinaProxy::init(const char * appKey_, const char * appSecret_, const char * redirectUri_)  
  2. {  
  3.     NSString * appKey = [NSString stringWithUTF8String:appKey_];  
  4.     NSString * appSecret = [NSString stringWithUTF8String:appSecret_];  
  5.     NSString * redirectUri = [NSString stringWithUTF8String:redirectUri_];  
  6.       
  7.     g_sinaDelegate = [SinaDelegate alloc];  
  8.       
  9.     g_sinaWeibo = [[SinaWeibo alloc] initWithAppKey:appKey appSecret:appSecret appRedirectURI:redirectUri andDelegate:g_sinaDelegate];  
  10.     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];  
  11.     NSDictionary *sinaweiboInfo = [defaults objectForKey:@"SinaWeiboAuthData"];  
  12.       
  13.     if ([sinaweiboInfo objectForKey:@"AccessTokenKey"] && [sinaweiboInfo objectForKey:@"ExpirationDateKey"]  
  14.         && [sinaweiboInfo objectForKey:@"UserIDKey"]){  
  15.         g_sinaWeibo.accessToken = [sinaweiboInfo objectForKey:@"AccessTokenKey"];  
  16.         g_sinaWeibo.expirationDate = [sinaweiboInfo objectForKey:@"ExpirationDateKey"];  
  17.         g_sinaWeibo.userID = [sinaweiboInfo objectForKey:@"UserIDKey"];  
  18.     }  
  19.       
  20.     return true;  
  21. }  
  22.   
  23. void SinaProxy::login()  
  24. {  
  25.     [g_sinaWeibo logIn];  
  26. }  

       函数参数为应用的appkey、appsecret以及同样重要的redirecturi,redirecturi的设置详见微博SDK文档。

在初始化完成之后,调用SDK的logIn函数便会弹出官方登陆页面,注意这里设置了一个回调,以接收平台返回的信息,另外这里面加入了一个保存用户session的功能,便于下次自动登陆。

       如果回调函数sinaweiboDidLogIn被调用,则表面登陆成功,可以调用微博的接口了。

 

第二步:获取用户信息

最重要的是第一步,后面的只是调用平台提供的接口得到结果而已。

获取用户信息的接口如下:

[cpp] view plain copy
  1. void SinaProxy::loadUserInfo(PlatformUserInfo & info)  
  2. {  
  3.     // post status  
  4.     [g_sinaWeibo requestWithURL:@"users/show.json"  
  5.                        params:[NSMutableDictionary dictionaryWithObject:g_sinaWeibo.userID forKey:@"uid"]  
  6.                    httpMethod:@"GET"  
  7.                      delegate:g_sinaDelegate];  
  8. }  

回调部分代码如下:

if ([request.urlhasSuffix:@"users/show.json"]){

        long uid = [result objectForKey:@"id"];

        NSString * sname =[resultobjectForKey:@"screen_name"];

    }

第三步:获取好友信息

接口如下:
[cpp] view plain copy
  1. void SinaProxy::loadFriends(std::vector<PlatformUserInfo*> & friends)  
  2. {  
  3.     [g_sinaWeibo requestWithURL:@"friendships/groups.json"  
  4.                          params:[NSMutableDictionary dictionaryWithObject:g_sinaWeibo.userID forKey:@"uid"]  
  5.                      httpMethod:@"GET"  
  6.                        delegate:g_sinaDelegate];  
  7. }  

注意该接口需要高级权限,需要先申请通过才能获取数据。

 第四步:分享信息

部分代码如下:
[cpp] view plain copy
  1. [sinaweibo requestWithURL:@"statuses/upload.json"  
  2.                        params:[NSMutableDictionary dictionaryWithObjectsAndKeys:  
  3.                                @"要发布的微博文本内容,必须做URLencode,内容不超过140个汉字http://x-work.org", @"status",  
  4.                                //@"hello world", @"status",  
  5.                                [UIImage imageNamed:@"Icon.png"], @"pic", nil]  
  6.                    httpMethod:@"POST"  
  7.                      delegate:self];  

 

分享采用upload这个接口基本够用了,而且不用申请高级权限,适合大部分情况。另外还有一个接口,upload_url_text,该接口主要是图片地址一个网址,抓取该图片然后分享,需要申请高级权限。

这篇关于cocos2d-x之新浪微博平台接入接口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1023280

相关文章

uniapp接入微信小程序原生代码配置方案(优化版)

uniapp项目需要把微信小程序原生语法的功能代码嵌套过来,无需把原生代码转换为uniapp,可以配置拷贝的方式集成过来 1、拷贝代码包到src目录 2、vue.config.js中配置原生代码包直接拷贝到编译目录中 3、pages.json中配置分包目录,原生入口组件的路径 4、manifest.json中配置分包,使用原生组件 5、需要把原生代码包里的页面修改成组件的方

springboot家政服务管理平台 LW +PPT+源码+讲解

3系统的可行性研究及需求分析 3.1可行性研究 3.1.1技术可行性分析 经过大学四年的学习,已经掌握了JAVA、Mysql数据库等方面的编程技巧和方法,对于这些技术该有的软硬件配置也是齐全的,能够满足开发的需要。 本家政服务管理平台采用的是Mysql作为数据库,可以绝对地保证用户数据的安全;可以与Mysql数据库进行无缝连接。 所以,家政服务管理平台在技术上是可以实施的。 3.1

比较学习难度:Adobe Illustrator、Photoshop和新兴在线设计平台

从入门设计开始,几乎没有人不知道 Adobe 公司两大设计软件:Adobe Illustrator和 Photoshop。虽然AI和PS很有名,有一定设计经验的设计师可以在早期探索和使用后大致了解AI和PS的区别,但似乎很少有人会系统地比较AI和PS。目前,设计软件功能多样,轻量级和网页设计软件已成为许多设计师的需求。对于初学者来说,一篇有针对性的AI和PS比较总结文章具有非常重要的指导意义。毕竟

智慧环保一体化平台登录

据悉,在当今这个数字化、智能化的时代,环境保护工作也需要与时俱进,不断创新。朗观视觉智慧环保一体化平台应运而生,它利用先进的信息技术手段,为环保工作提供了更加便捷、高效的管理方式,成为推动绿色发展的重要力量。 一、智慧环保一体化平台的诞生背景 随着工业化进程的加快,环境污染问题日益严重,传统的环保管理模式已经难以满足现代社会的需求。为了提高环保工作的效率和质量,智慧环保一体化平台应运而

vue3项目将所有访问后端springboot的接口统一管理带跨域

vue3项目将所有访问后端springboot的接口统一管理带跨域 一、前言1.安装Axios2.创建Axios实例3.创建API服务文件4.在组件中使用API服务 二、跨域三、总结 一、前言 在Vue 3项目中,统一管理所有访问后端Spring Boot接口的最佳实践是创建一个专门的API服务层。这可以让你的代码更加模块化、可维护和集中管理。你可以使用Axios库作为HTT

基于Spring Boot构建淘客返利平台

基于Spring Boot构建淘客返利平台 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将讨论如何基于Spring Boot构建一个淘客返利平台。 淘客返利平台通过整合各种电商平台的商品信息,提供给用户查询和返利功能,从而实现流量变现。以下是实现一个简单的淘客返利平台的步骤。 1. 项目初始化 首先,使用Spri

IPD推行成功的核心要素(十一)技术规划与平台规划促进公司战略成功

随着外部大环境的影响,各企业仅有良好的愿望是不够的。预测并顺应新兴市场和技术的变化,变危机为转机,不断推出强大的产品才是一个公司持续繁荣的根本保障。而高效的产品开发往往是基于某些关键技术,针对市场推出的一个或几个产品系列,这些产品系列通常共用一些产品平台,共用一种或者几种关键技术。当一家企业进入了平稳发展期,已经建立了较为完善的管理制度和产品开发流程,但是依然认为竞争对手是那样强大,那样不可战胜。

一二三应用开发平台应用开发示例(4)——视图类型介绍以及新增、修改、查看视图配置

调整上级属性类型 前面为了快速展示平台的低代码配置功能,将实体文件夹的数据模型上级属性的数据类型暂时配置为文本类型,现在我们调整下,将其数据类型调整为实体,如下图所示: 数据类型需要选择实体,并在实体选择框中选择自身“文件夹” 这时候,再点击生成代码,平台会报错,提示“实体【文件夹】未设置主参照视图”。这是因为文件夹选择的功能页面,同样是基于配置产生的,因为视图我们还没有配置,所以会报错。

linux常用API接口

linux常用API接口 文章目录 linux常用API接口1.应用层内存映射mmap取消内存映射munmap终端打印可用方式1.puts 函数2.文件操作函数 fprintf3.字符输出函数 putchar4.fwrite 函数 2.内核层 1.应用层 内存映射mmap mmap 是一个用于内存映射的系统调用,它可以将一个文件或设备中的内容映射到进程的地址空间中,允许程

关于微信没有接入鸿蒙NEXT的思考

6月21日,纯血鸿蒙发布,国内的质疑声终于停止,不再被人喊叫换皮 Android 了.就连编程语言都是华为自研的。 可是发布会后微信却成了热点,因为余承东在感谢了一圈互联网企业,如:淘宝、支付宝、美团、京东、抖音、今日头条、钉钉、小红书、微博、B站、高德、WPS等等. 唯独没有感谢腾讯. 中国互联网巨头只有哪么几家,腾讯、阿里、字节、拼多多、美团、百度、京东、华为 他们这些派系又诞生了无数