0

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

我怎样才能做到这一点?

谢谢。

4

1 回答 1

2

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

查看Twitter 开发人员Raffi 的这篇文章,了解更多信息。

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

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

"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 的 t.co URL 包装器现在适用于所有 19 个字符或更大字符的 URL

t.co 链接包装器的后续步骤


编辑--->

如何使用 ShareKit 进行操作:

Twitter 没有像bit.ly 那样为 URL 发布 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,但截至8 月 15 日,它已开始翻译所有指向 t.co 的链接。因此,如果您在上述步骤中使用长 URL,那么您应该会在响应中看到 T.co。

于 2011-08-19T18:22:17.683 回答