我正在编写一个应用程序,要求用户提供多个社交网络的用户名。例如Twitter,Facebook,Google +。
然后,我希望能够将电子邮件中的可点击链接发送给给定用户。链接应解析为给定用户的配置文件页面。
目前这是一款iOS应用。
对于像Twitter这样的服务,这很简单:每个人都知道他们的用户名,这是一个简单的字符串连接案例来获取用户名。
对于Google Plus,字符串操作是不可能的。
对于Flickr和Facebook,有虚荣网址,但这不是直截了当的。
我不介意在服务器上做任何繁重的工作,但我会问这个问题,以确保我没有错过任何一招。
我的问题是:
答案 0 :(得分:1)
对于Facebook,从http://graph.facebook.com/<username>
获取JSON并查看link
值
Flickr有一个API调用flickr.people.findByUsername
http://www.flickr.com/services/api/flickr.people.findByUsername.html
Google Plus也有API,例如
GET https://www.googleapis.com/plus/v1/people/userId
答案 1 :(得分:1)
Google+没有用户名的概念。旧的Google个人资料产品的格式为https://profiles.google.com/{username}
。对于具有旧式个人资料并已激活Google+的用户,这将重定向到他们的https://plus.google.com/ID
个人资料。也就是说,绝大多数Google+用户都没有这些旧用户名,因此可能不值得尝试这条路线。
获取用户个人资料网址的推荐方法是向用户发送具有https://www.googleapis.com/auth/plus.me
范围的OAuth流,然后使用userId“me”调用people.get,并提取个人资料网址回应。