Using t.co in sharekit - iphone application

雨燕双飞 提交于 2019-12-13 04:43:42

问题


I am using sharekit but I don't want to use the bityl service for shortening the URL I want to use the built-in t.co provided by twitter.

How can I do that?

Thanks.


回答1:


Unfortunately, T.co is not available as an API to developers. It's an internal shortner used by Twitter to automatically shorten long links.

Check out this post by Raffi, Twitter developer, to learn more about it.

You won't be able to control how the links get shortened. But all URL's over 20 characters are automatically shortened and you can control what get's shortened by including wrap_links=true on the POST you send to Twitter for new messages.

If you enable entities in the response you'll see the following attributes for your links.

"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
          ]
        }
      ],

For further reference :

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

Next steps with the t.co link wrapper


Edit --->

How to get this working with ShareKit:

Twitter does not release an API like bit.ly does for URL's but if you look through the ShareKit library you will see the following file,

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

open this file and look for the following line:

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

inside the block

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)
                                                                          ]]

This is the short URL string ShareKit sends to the Twitter sharer.

I haven't had a chance to test this out, but I think if you change this text string to a long URL text string then ShareKit will instead send that one.

Although there may be areas elsewhere in the framework that rely on the Bit.Ly service so watch out for that. But it's worth testing out.

Even though Twitter does not offer a T.co API, as of Aug 15 it has started translating all links to t.co. So, if you use a long URL with the steps mentioned above then you should be seeing T.co in the response.



来源:https://stackoverflow.com/questions/7125417/using-t-co-in-sharekit-iphone-application

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!