【问题标题】:Using t.co in sharekit - iphone application在 sharekit 中使用 t.co - iphone 应用程序
【发布时间】:2011-08-21 03:52:28
【问题描述】:

我正在使用sharekit,但我不想使用bityl服务来缩短URL我想使用twitter提供的内置t.co。

我该怎么做?

谢谢。

【问题讨论】:

    标签: twitter sharekit url-shortener


    【解决方案1】:

    很遗憾,T.co 不能作为 API 提供给开发人员。它是 Twitter 用来自动缩短长链接的内部缩短器。

    查看this post by Raffi,Twitter 开发人员,了解更多信息。

    您将无法控制链接的缩短方式。但是所有超过 20 个字符的 URL 都会自动缩短,您可以控制缩短的内容,方法是在您发送到 Twitter 以获取新消息的 wrap_links=true 中包含 wrap_links=true

    如果您在响应中启用entities,您将看到链接的以下属性。

    "urls": [
            {
              "url": "http://t.co/0JG5Mcq",
              "display_url": "blog.twitter.com/2011/05/twitte…",
              "expanded_url": "http://blog.twitter.com/2011/05/twitter-for-mac-update.html",
              "indices": [
                84,
                103
              ]
            }
          ],
    

    供进一步参考:

    Twitter's t.co URL wrapper is now on for all URLs 19 characters and greater

    Next steps with the t.co link wrapper


    编辑--->

    如何使用 ShareKit:

    Twitter 没有为 URL 发布像 bit.ly does 这样的 API,但是如果您查看 ShareKit 库,您会看到以下文件,

    /ShareKit/master/Classes/ShareKit/Sharers/Services/Twitter/SHKTwitter.m
    

    打开此文件并查找以下行:

    http://api.bit.ly/v3/shorten?login=%@&apikey=%@&longUrl=%@&format=txt

    块内

    self.request = [[[SHKRequest alloc] initWithURL:[NSURL URLWithString:[NSMutableString stringWithFormat:@"http://api.bit.ly/v3/shorten?login=%@&apikey=%@&longUrl=%@&format=txt",
                                                                              SHKBitLyLogin,
                                                                              SHKBitLyKey,                                                                        
                                                                              SHKEncodeURL(item.URL)
                                                                              ]]
    

    这是 ShareKit 发送给 Twitter 共享者的短 URL 字符串。

    我没有机会对此进行测试,但我认为如果您将此文本字符串更改为长 URL 文本字符串,那么 ShareKit 将改为发送该文本字符串。

    虽然框架中的其他地方可能存在依赖 Bit.Ly 服务的区域,但请注意这一点。但值得一试。

    尽管 Twitter 不提供 T.co API,但从 Aug 15 开始,它已开始翻译所有指向 t.co 的链接。因此,如果您在上述步骤中使用长 URL,那么您应该会在响应中看到 T.co。

    【讨论】:

    • 非常感谢您的回复,但是如何在 Sharekit 中使用此 T.co?
    • Naveed,你有机会测试一下吗?
    • 好的,非常感谢。所以你的意思是默认情况下我们不需要对链接做任何事情?我正在使用 sharekit 使用 bityl,它工作正常。
    • 是的,您不需要对链接做任何事情。将 URL http://api.bit.ly/v3/shorten?login=%@&apikey=%@&longUrl=%@&format=txt 更改为您的常规链接。你应该会看到t.co
    猜你喜欢
    • 1970-01-01
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    • 2011-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多