2017-09-10 21 views
0

だから、私は今、私はInstagramのに取り組んでいます(他のものの間)のInstagramを提供するアプリ、さえずり、特定のハッシュタグ:Instagramの承認 - アクセストークン

上のFBとYTライブフィードを構築しています(最初の)それはアプリ

  • を登録

    • レジスタDEV
    • としてケーキだろう思考のAppIDとにInstagramのための秘密の
    • 角度のHTTP API呼び出しを取得getFeedのをInstagramのために
    • 角度のHTTP APIコール(アプリIDと秘密を使用して)アクセストークンを取得する?ハッシュタグ= XY(アクセストークンを使用して)...今

    、明らかに、それはこのようにされていません...

    • はその後、私は
    • (URIを私のclient_idを使用して... linkとリダイレクト)CODEを取得するためのAPI呼び出しを行う必要があり、Instagramのは私がアプリとクライアントを登録し、リダイレクトしたURLのように最初のそれから私はACを得るために行くだろうCESS TOKEN
    • だけにして、私は、通常のGETフィードAPI呼び出し

    に取得することができるだろう、私は余分なステップは、コードを取得することを気にしない....しかし...リダイレクトURLが流れを乱しています...私は何をすべきかわかりません...

    私のアングル(4 cli)アプリでは、ユーザーは正常に動作しており、プロフィールページに到達しています....彼はタブを使ってソーシャルプラットフォームを選択し、フィードに人口が溜まるようになるでしょう...今、私はユーザーがinstagram、twitter、fb、yt ...から4回、アプリケーションにリダイレクトされるのを望んでいません... 。一度も...私は通常のAPI呼び出しでこれが場面の裏に起こることを望みます。

    私は私のinstagram.service.tsに

    getAccessToken() { 
        const api = 'https://www.instagram.com/oauth/authorize/'; 
    
        const params: HttpParams = new HttpParams() 
        .set('client_id', clientId) 
        .set('redirect_uri', 'http://localhost:4200/auth/') 
        .set('response_type', 'code'); 
    
        return this.http.get<any[]>(api, {params}) 
        .map((response) => response) 
        .catch((error: any) => Observable.throw(error.error || 'Server error')); 
    } 
    

    を行うと、それを呼び出す、私の開発ツールで、私はこの enter image description here

    を見れば

    はそこそこAPI呼び出しが成功しましたが、角度のアプリにはありません私の認証パスを処理する...それは404を与える... ....私のルートでは私が持っているにもかかわらず:

    {path: 'auth', children: [ 
        {path: ':instagramtoken', component: MatchesLandingPageComponent}, 
        {path: '**', component: MatchesLandingPageComponent}, 
        ] }, 
    

    私の質問は、どのように私はこれを処理するのですか?リダイレクトなしで?

    。 。 。

    バックエンドにもROOPBACKエクスプレスサーバーを使用しています(RESTful API経由でデータを取得するため)....これを行う方法はありますか?だから私はちょうどそれを得るだろう http://localhost:3000/api/instagram?hashtag=xy ??

  • 答えて

    1

    まず、いくつかの発言:あなたは、フロントエンドアプリケーションでそれを使用しているため

    あなたはclient_secretを使用しません。私はあなたのJavaScriptコードに入れたら、もう秘密にはならないでしょう。この場合、暗黙のフローを使用します。

    ライブラリを使用すると便利かもしれません。私は、ユーザーがInstagramの、さえずり、FBとYTからアプリにリダイレクトする必要はありませんThis is a good one.

    ... 4回....ではない一度も...

    I申し訳ありませんが、あなたはする必要があります。これは、プロバイダがユーザーにあなたのアプリを自動化したことを知らせる唯一の方法です。セッション記憶域にトークンを格納できるため、これはすべての要求の前には必要ありません。 (ライブラリはあなた自身のためにこれを行うかもしれません)。これはInstagramのトークンが期限切れにならないので動作しますが、他の場合は同じではないかもしれません。

    この404については、http://localhost:4200/auth/?code...にリダイレクトされています。これは正しいURLではなく、正しいURLです。http://localhost:4200/auth?code=...

    したがって、.set('redirect_uri', 'http://localhost:4200/auth/')から.set('redirect_uri', 'http://localhost:4200/auth')に変更してください。

    +0

    私はユーザーにinstagramを許可するのは嫌いですが、私は自分のAPP(ユーザーとして)に権限を与えたいと思っています...それは全体のポイントです....ユーザーが私のアプリ...またはinstagram経由で私のアプリにログイン!私のユーザはinstagram –

    +0

    とは関係ありませんが、ループバックアプリでバックエンド側で解決しようとしているようです - https://strongloop.com/strongblog/using-loopback-to-build-apis-for- apis/ –

    +0

    あなたのアプリに権限が与えられていると思います。しかし、そうするためには、ユーザーはそのアプリにログインしてアクセスする必要があります。 –

    関連する問題