Я использую sharekit, но я не хочу использовать сервис bityl для сокращения URL-адреса. Я хочу использовать встроенный t.co, предоставленный Twitter.
Как я могу это сделать?
Спасибо.
Я использую sharekit, но я не хочу использовать сервис bityl для сокращения URL-адреса. Я хочу использовать встроенный t.co, предоставленный Twitter.
Как я могу это сделать?
Спасибо.
К сожалению, 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 в ответе.
http://api.bit.ly/v3/shorten?login=%@&apikey=%@&longUrl=%@&format=txt
на обычную ссылку. Тогда вы должны увидеть t.co
.
- person Chamilyan; 23.08.2011