如何在Android应用程序上使用API​​?

时间:2015-07-20 01:19:45

标签: c# android api xamarin

我是应用程序开发的新手,我正在尝试创建一个应用程序,让某人登录他们的Instagram帐户,在应用程序中,您将能够查看自己的照片。

https://instagram.com/developer/authentication/?hl=en

这个网站向我们展示了如何做到这一点,但它说我需要将它们重定向回我的网址,但问题是Android应用程序没有网址。

我错过了什么吗?我该怎么办呢?我是否必须为该应用创建网站? 谢谢!

另外,我正在使用Xamarin在c#中开发这个应用程序。

2 个答案:

答案 0 :(得分:0)

你的问题与Xamarin无关,因为使用Xamarin你会使用C#。所以你要找的是如何在C#中使用Instagram API。也许MSDN上的示例将帮助您了解入门所需的步骤。

答案 1 :(得分:0)

当Instagram使用OAuth 2.0 https://instagram.com/developer/authentication/?hl=en时,您可以使用Xamarin.Auth组件https://components.xamarin.com/view/xamarin.auth来简化实施。它将为您完成所有必需的工作:)

但这个想法很简单 - 在您的移动应用中,您在WebView控件中打开此URL https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code,用户在网站上进行身份验证,用户将导航到特殊网址。您拦截导航并解析URL以获取身份验证令牌,稍后您可以使用该令牌执行对服务的请求。

修改

var auth = new OAuth2Authenticator (
               clientId: "CLIENT_ID",
               scope: "basic",
               authorizeUrl: new Uri ("https://api.instagram.com/oauth/authorize/"),
               redirectUrl: new Uri ("REDIRECT_URL"));

auth.AllowCancel = allowCancel;

// If authorization succeeds or is canceled, .Completed will be fired.
auth.Completed += (s, ee) => {
    var token = ee.Account.Properties ["access_token"];
};

var intent = auth.GetUI (this);
StartActivity (intent);