有个新项目中需要用到twitter分享,按照从前的经验,注册推特账号,然后申请开发者,之后创建app,得到API Key,API Key Secret,Bearer Token,然后集成友盟SDK,通过友盟来调用twitter分享。

意外的发现分享失败了。

************Share fail with error Error Domain=TwitterAPIErrorDomain Code=453 "Request failed: forbidden (403)" UserInfo={NSLocalizedFailureReason=Twitter API error : You currently have Essential access which includes access to Twitter API v2 endpoints only. If you need access to this endpoint, you’ll need to apply for Elevated access via the Developer Portal. You can learn more here: https://developer.twitter.com/en/docs/twitter-api/getting-started/about-twitter-api#v2-access-leve (code 453), TWTRNetworkingStatusCode=403, NSErrorFailingURLKey=https://api.twitter.com/1.1/statuses/update.json, NSLocalizedDescription=Request failed: forbidden (403)}*********

大体应该是当前创建的twitter应用只支持V2版本的API,而友盟则会调用V1.1版本的API。

查了一下,新注册的twitter开发者只支持V2的API,如果想要额外的访问权限,可以选择申请免费的高级访问权限。而在2021年11月15日之前申请成功的开发者,将自动转换为高级访问权限。

而友盟调用twitter分享用的twitterkit库,这个库在2019年就已经停止维护了,目前只支持V1.1的API。

尝试去提升访问权限,却意外发现twitter的App状态变为受限了。

This App has violated Twitter Rules and policies. As a result, certain functions will be limited. An email has been sent to xx*****@xx*****.com with details. For assistance, submit a support ticket.

应该是调用V1.1的API次数太多导致的吧。

最终的解决方案:

采用最简单粗暴的方式,直接用openURL硬拉起twitter。

NSString *encodedString = [NSString stringWithFormat:@"twitter://post?message=%@\n%@",title, url];
encodedString = [encodedString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:encodedString]];

iOS集成twitter分享相关推荐

  1. 微信5.0登录提示服务器繁忙,iOS集成友盟社会化分享微信无法登录?

    iOS集成友盟社会化分享SDK-5.0 点击微信登录的时候出现无法获取accessToken的现象,其他如QQ.微博都可以正常登录使用.另外QQ.微博和微信分享都可以正常使用. 望各位早日帮我解决或者 ...

  2. iOS小技能: 集成社会化分享(代理商展业二维码)

    文章目录 引言 I 集成社会化分享 1.1 U-Share SDK 集成步骤 1.2 第三方平台配置 1.3 配置SSO白名单 1.4 配置URL Scheme 1.5 配置Universal lin ...

  3. Android开发之集成Twitter登陆以及分享,文后有源码。

    目录 1.APP build 2.sdk初始化 3.按钮样式(布局文件) 3.1官方按钮登陆 3.2自定义按钮登陆 4.Twitter分享 5.源码传送:点我点我点我 1.APP build //推特 ...

  4. iOS:ShareSDk的分享

    使用分享类的SDK其实有很多,例如友盟.ShareSDK等等,参照他们的文档集成起来并不是很难,可能出的一些问题也就是配置文件的问题,这里我个人使用了ShareSDK分享,具体操作可出现的问题如下: ...

  5. iOS - ShareSDK第三方分享(图文和视频)和登录

    由于近期工作需要自己抽时间搞了一下第三方分享,这里使用的是shareSDK的第三方,在使用的过程中有一些心得和体会,特在此和大家分享一下~ 1.在经过将近一周时间的开发,终于搞定ios分享了. 2.由 ...

  6. iOS 支付宝好友分享

    此文来自支付宝分享接入文档,详情查询支付宝开发者平台 --- ### 1.1 iOS客户端DEMO结构 ``` APSocialSDKDemo | APSocialSDKDemo 文件夹 Demo源码 ...

  7. 使用友盟社会化分享IOS版SDK分享纯图片到微信

    本文和上一篇友盟社会化分享Android版是兄弟篇.其实本人用的是友盟Cocos2d-x的IOS版.对于普通IOS版如何分享纯图片到微信朋友圈,官网文档中已经说明的比较清楚,但是在Cocos2d-x版 ...

  8. Android Facebook和Twitter分享

    1. 背景 在年初的时候,公司的项目有个新的需求,在英文版的应用中加入Facebook和Twitter分享功能. 2. 完成情况 由于这个项目比较急,所以开发这个功能从预研到接入总共耗时一周.后来,在 ...

  9. ios 开发 微信分享失败_一个失落的孩子如何在失败的情况下从失败变成了iOS开发人员...

    ios 开发 微信分享失败 by Jordan LaGrone 乔丹·拉格隆(Jordan LaGrone) 一个失落的孩子如何在失败的情况下从失败变成了iOS开发人员 (How a lost kid ...

  10. iOS- 无处不在,详解iOS集成第三方登录(SSO授权登录无需密码)

    1.前言 不多说,第三登录无处不在!必备技能,今天以新浪微博为例. 这是上次写的iOS第三方社交分享: http://www.cnblogs.com/qingche/p/3727559.html 可以 ...

最新文章

  1. 网站常规基本优化工作有哪些?
  2. pythonweb开发-一步步教你开始使用Python开发Web应用
  3. 取消管理员取得所有权_win7管理员取得所有权批处理 - 卡饭网
  4. 8个球放入3个盒子方式_8种土豆做法,好吃到根本停不下来!
  5. 运算阶乘的代码_【必修1】2.4可以复用的代码
  6. DBA自述:非科班出身,如何成为Oracle ACE
  7. asp.net core 依赖注入问题
  8. 模糊逻辑学习--建立Mamdani系统(GUI)
  9. 安卓9开机 bootanimation.zip_小米手机如何从安卓10退回安卓9系统,不丢失传感器,不变砖...
  10. JAVA对象转Json对象
  11. Tableau——备注
  12. 分享一个性价比极高的代理IP
  13. 分布电容和杂散电容_寄生电容 分布电容
  14. 使用Echarts制作动态嵌套饼图
  15. 考研数学 之 汤家凤老师来校讲座摘记 (拉格朗日定理等干货 )
  16. linux设计 实现一个模拟的文件系统,模拟Linux文件系统.doc
  17. 储留香:从丞相说到文件系统
  18. Xilinx Zynq ZynqMP DNA
  19. IBM朱辉:大数据分析的5个高复制使用场景及案例分享(含PPT)
  20. 传电子书到kindle_如何将电子书和其他文档发送到Kindle

热门文章

  1. python:游戏倒计时器
  2. python核心技术与实战,Python核心技术与实战——十五|深入了解迭代器和生成器...
  3. 第三方cookie是如何窥视你的?
  4. 武神坛任务超详细解说。刷战神任务
  5. python识图找图_初探利用Python进行图文识别(OCR)
  6. ​​【接口篇 / Wan】(7.0) ❀ 01. 配置 ADSL 拨号上网 ❀ FortiGate 防火墙
  7. android手机无分区无法刷机,adb sideload 刷机教程:当你手机无法开机,内存里没有ROM时......
  8. HTML调用Discuz系统变量,Discuz论坛js调用详解
  9. C/C++编程笔记:飞翔的小鸟(Flappy Bird)——C语言版本
  10. 使用Guava-retrying优雅地解决异常重试场景