1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 Objectwitter-C 0.9.1 释出,支持推特卡片式引用功能 下载

本帖由 漂亮的石头2015-05-29 发布。版面名称:软件资讯

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    486,336
    赞:
    46
    六周前,Twitter 增加了对推文的卡片式引用 “Quoted Tweet”,该功能能够节省用户转发其他人的推文并添加自己的评论时的字数,同时还能提升所有使用 Twitter 相关产品的用户体验:

    [​IMG]

    最近,Twitter 宣布其更新了它的 API 以向第三方客户端开放此功能,这将允许所有第三方客户端都可以正确地解析并渲染用户的 “Quoted Tweet”:

    [​IMG]

    Objectwitter-C 此次更新就是增添了对 “Quoted Tweet” 卡片式引用的支持,最新版代码可以在这里获取。


    什么是 Objectwitter-C

    Objectwitter-C 是一款稳定,成熟,全面的 Twitter REST/Streaming API 的 Objective-C 封装,其封装了 Twitter 的全部公开 API。由 @开源中国真理部部长 基于 STTwitter 开发,在 STTwitter 对 Twitter REST API的全面封装的基础上,增添了很多工具类使得 API 更加抽象,易用,并且完全重新设计了 Twitter Streaming API 的封装,利用类似于 NSURLSession/NSURLConnection 的委托模式(delegate)使得用户更容易与 Twitter 流(streaming)API 交互。

    Objectwitter-C 不依赖于 AppKit 和 UIKit 即可工作,你可以将该框架用在命令行应用中。你可以把 Objectwitter-C 考虑为 FOSS 版的 Twitter Fabric TwitterKit,但是去掉了 UI 部分并且更加灵活。

    安装


    将项目目录拖动到你自己的工程中,将你的工程与下列系统框架连接:


    • Accounts.framework


    • Social.framework


    • Twitter.framework (iOS only)


    • Security.framework (OS X only)
    代码片段


    初始化 Twitter API 对象:

    STTwitterAPI* twitter = [ STTwitterAPI twitterAPIWithOAuthConsumerKey: @""
    consumerSecret: @""
    username: @""
    password: @"" ];

    验证凭据:

    [ twitter verifyCredentialsWithUserSuccessBlock:
    ^( NSString* username, NSString* userID )
    {
    // ...
    } errorBlock:
    ^( NSError* error )
    {
    // ...
    } ];

    抓取时间轴(Timeline)中的推文(tweets):

    [ twitter getHomeTimelineSinceID: nil
    count: 100
    successBlock:
    ^( NSArray* statuses )
    {
    // ...
    } errorBlock:
    ^( NSError* error )
    {
    // ...
    } ];

    App Only 验证:

    STTwitterAPI* twitter = [ STTwitterAPI twitterAPIAppOnlyWithConsumerKey: @""
    consumerSecret: @"" ];
    [ twitter verifyCredentialsWithUserSuccessBlock:
    ^( NSString* username, NSString* userID )
    {
    [ twitter getUserTimelineWithScreenName: @"barackobama"
    successBlock:
    ^( NSArray* statuses )
    {
    // ...
    } errorBlock:
    ^( NSError* error )
    {
    // ...
    } ];
    } errorBlock:
    ^( NSError* error )
    {
    // ...
    } ];

    使用游标(cursor)枚举返回结果:

    [ _twitter fetchAndFollowCursorsForResource: @"followers/ids.json"
    HTTPMethod: @"GET"
    baseURLString: @"https://api.twitter.com/1.1"
    parameters: @{@"screen_name":mad:"0xcharlie"}
    uploadProgressBlock: nil
    downloadProgressBlock: nil
    successBlock:
    ^( id request, NSDictionary* requestHeaders, NSDictionary* responseHeaders, id response, BOOL morePagesToCome, BOOL* stop )
    {
    NSLog( @"-- success, more to come: %d, %@", morePagesToCome, response );
    } pauseBlock:
    ^( NSDate* nextRequestDate )
    {
    NSLog( @"-- rate limit exhausted, nextRequestDate: %@", nextRequestDate );
    } errorBlock:
    ^( id request, NSDictionary* requestHeaders, NSDictionary* responseHeaders, NSError* error )
    {
    NSLog( @"-- %@", error );
    } ];

    不同类型的 OAuth 连接:你可以以三种方法初始化 STTwitterAPI 对象:


    • 使用 OS X Preferences 或者 iOS Settings 中的 Twitter 账号


    • 使用你自己指定的 consumer key 和 consumer secret(四种风格):


      • 获取一个 URL,抓取 PIN 码输入到你的 app 中从而获取 OAuth access token


      • 设置用户名(username)和密码(password),然后使用 XAuth 获取 OAuth access token


      • 直接设置 OAuth token 和 OAuth token secret


      • 打开 Safari 或者使用 UIWebView 实例,执行 Twitter 验证操作然后通过一个定制的 UEL scheme 在你的 app 中直接接收 OAuth access token

    • 使用 Application Only 验证,获取并使用 “bearer token“

    有五个 API 对应五种情况:

    + ( STTwitterAPI* ) twitterAPIOSWithFirstAccount;

    + ( STTwitterAPI* ) twitterAPIWithOAuthConsumerKey: ( NSString* )consumerKey
    consumerSecret: ( NSString* )consumerSecret;

    + ( STTwitterAPI* ) twitterAPIWithOAuthConsumerKey: ( NSString* )consumerKey
    consumerSecret: ( NSString* )consumerSecret
    username: ( NSString* )username
    password: ( NSString* )password;

    + ( STTwitterAPI* ) twitterAPIWithOAuthConsumerKey: ( NSString* )consumerKey
    consumerSecret: ( NSString* )consumerSecret
    oauthToken: ( NSString* )oauthToken
    oauthTokenSecret: ( NSString* )oauthTokenSecret;

    + ( STTwitterAPI* ) twitterAPIAppOnlyWithConsumerKey: ( NSString* )consumerKey
    consumerSecret: ( NSString* )consumerSecret;

    上面的代码片段只是用于演示,Objectwitter-C API 是对 Twitter API 的全面封装,所以你可以查阅头文件和 Twitter API 文档来了解任何你想要的东西。

    OAuth Consumer Tokens


    在 Twitter API 1.1 中,每个客户端应用必须使用consumer key和consumer secret验证自身。你可以在这个 Twitter 站点中为你的 app 申请 consumer tokens:https://dev.twitter.com/apps.

    Demo/Test Project


    在 Objectwitter-C 项目中,在 demo_osx 目录下包含了一个 OS X 上的 demo,这个 demo 演示了一部分 API 的用法,并且还可以允许你选择如何获取 OAuth Tokens(如下图):

    [​IMG]

    一旦你成功获取了 OAuth Tokens,你就可以马上使用这个简易的客户端获取你的时间轴并且发一些推文了。同时,项目中还有一个 iOS 的 demo

    [​IMG]

    更多细节

    Objectwitter-C 0.9.1 释出,支持推特卡片式引用功能下载地址
     
正在加载...