Использование t.co в sharekit — приложение для iphone

Я использую sharekit, но я не хочу использовать сервис bityl для сокращения URL-адреса. Я хочу использовать встроенный t.co, предоставленный Twitter.

Как я могу это сделать?

Спасибо.


person Naveed Rafi    schedule 19.08.2011    source источник


Ответы (1)


К сожалению, T.co недоступен в качестве API для разработчиков. Это внутренний укорачиватель, используемый Twitter для автоматического сокращения длинных ссылок.

Ознакомьтесь с этим сообщением Раффи, разработчика Twitter, чтобы узнать больше об этом.

Вы не сможете контролировать, как сокращаются ссылки. Но все URL-адреса длиной более 20 символов автоматически сокращаются, и вы можете контролировать сокращение, включив wrap_links=true в POST, которое вы отправляете в Твиттер для новых сообщений.

Если вы включите сущности в ответе, вы увидите следующие атрибуты для ваших ссылок.

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

Для справки:

Оболочка URL t.co в Твиттере теперь включена для всех URL длиной 19 символов и больше

Дальнейшие шаги с упаковщиком ссылок t.co


Изменить --->

Как заставить это работать с ShareKit:

Twitter не выпускает API, как bit.ly для URL-адресов, но если вы просматриваете библиотеку 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)
                                                                          ]]

Это короткая строка URL, которую ShareKit отправляет пользователю Twitter.

У меня не было возможности проверить это, но я думаю, что если вы измените эту текстовую строку на длинную текстовую строку URL, то вместо этого ShareKit отправит ее.

Хотя в других местах фреймворка могут быть области, которые полагаются на службу Bit.Ly, так что следите за этим. Но протестировать стоит.

Несмотря на то, что Twitter не предлагает API T.co, по состоянию на 15 августа он начал переводить все ссылки на t.co. Итак, если вы используете длинный URL-адрес с шагами, упомянутыми выше, вы должны увидеть T.co в ответе.

person Chamilyan    schedule 19.08.2011
comment
Большое спасибо за ваш ответ, но как я могу использовать этот T.co в Sharekit? - person Naveed Rafi; 20.08.2011
comment
Навид, у тебя была возможность проверить это? - person Chamilyan; 23.08.2011
comment
ок большое спасибо. так вы имеете в виду, что по умолчанию нам не нужно ничего делать со ссылками? Я использую bityl с помощью sharekit, и он работает нормально. - person Naveed Rafi; 23.08.2011
comment
да со ссылками ничего делать не надо. Измените URL-адрес http://api.bit.ly/v3/shorten?login=%@&apikey=%@&longUrl=%@&format=txt на обычную ссылку. Тогда вы должны увидеть t.co. - person Chamilyan; 23.08.2011