Использование t.co в sharekit - приложении для iphone - PullRequest
0 голосов
/ 19 августа 2011

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

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

Спасибо.

1 Ответ

2 голосов
/ 19 августа 2011

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

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

Вы выиграли 'не сможет контролировать, как ссылки сокращаются.Но все URL-адреса длиной более 20 символов автоматически укорачиваются, и вы можете контролировать то, что сокращается , включая wrap_links=true в POST, отправляемом в 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
          ]
        }
      ],

Для дальнейшего использования:

Оболочка 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 отправляет щебетателю.

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

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

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

...