在sharekit中使用t.co - iphone应用程序

时间:2011-08-19 17:47:57

标签: twitter sharekit url-shortener

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

我该怎么做?

感谢。

1 个答案:

答案 0 :(得分:2)

不幸的是,T.co无法作为开发人员的API。这是Twitter用来自动缩短长链接的内部缩写。

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

您将无法控制链接缩短的方式。但是,所有超过20个字符的网址都会自动缩短,并且可以控制缩短的内容,将wrap_links=true添加到您发送给Twitter的POST新邮件中。

如果您在回复中启用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。