iosauthenticationinstagramfoursquare

New venue in Foursquare from within iOS?


(EDITED for clarification)

In a nutshell we're trying to allow users to create Foursquare venues in our app but we're having problems.

Detailed problem description:

Thanks user rckoenes for the API link. We're interpreting the API as it is OK to list venues with "userless access" but in order to make a POST the API "Requires Acting User".
Somehow Instagram seems to manage to allow this without forcing the user to authenticate to Foursquare but we don't see how and we want to avoid having to have this authentication in the app settings (asking them to do this with Facebook is asking enough).

Foursquare API link: https://developer.foursquare.com/overview/auth

I hope this clears things up.

_Original post:
If our user can't find the right venue in our app (location search powered by foursquare) how can they create it? This is possible within Instagram but we haven't found how to replicate it. Is it possible? We're developing for iOS.


Solution

  • Great question. To answer "how to add venues?", rckoenes was indeed correct when he suggested the venues/add endpoint, but you're right to note that this isn't possible unless there's an actively logged in user.

    Just to clarify though, Instagram does not add venues to Foursquare when they allow their users to "Create a custom location." When an Instagram user does this, a "text tag" is associated with their photo and this never gets added to Foursquare, nor is it even searchable on Instagram again (the user would have to re-create it every time they want to use this location). Instagram's UI subtly differentiates this by coloring Foursquare venues as blue and allowing users to see more details on the venue while graying out non-Foursquare venues. The reason that these text tags aren't able to be searched again is that doing so would effectively create your own independent location database, which is a violation of our usage policies.

    You can consider Instagram's approach if it's appropriate for your situation, but of course the best solution is to allow your users to authenticate through Foursquare, saving their access tokens, and make venue/add requests on behalf of users themselves. This has recently gotten much easier since the release of Foursquare native auth for iOS.