0

OAuth の概念全体を理解しようとしましたが、申請を進めることができません。私がやりたいことについての情報から始めましょう:

まず、自分用に Codeigniter でブログ アプリケーションを作成しています。このブログでは、つぶやき、flickr、500px の写真、サウンド クラウド トラックなど、ウェブ上の共有データの一部を紹介したいと思います。私は Twitter を始めています。Twitter appltes などを使用できることはわかっていますが、OAuth プロセス全体を理解できるように、これをすべてネイティブ コードで行いたいと考えています。

次に、Twitter の 500px などのデータはすべて私のものです。誰も私のブログにログインしないので、「Twitter でサインイン」タイプのものには興味がありません。

3 番目に、アプリを Twitter に登録し、コンシューマー キー、コンシューマー シークレット、アクセス トークン、およびアクセス トークン シークレットを取得しました。

今、これは私が間違っていると思うところです。自分のタイムラインを取得したいとしましょう。twitter API は、これを認証する必要があると言っています。タイムラインを取得するために、2 つのキーとアクセス トークンを渡すだけではいけませんか。

私はあらゆる種類のことを試しましたが、次のエラーが発生し続けます。

{"errors":[{"message":"Invalid or expired token","code":89}]}

Twitter API パネルで確認できるように、アクセス トークンが正しいことはわかっています。

認証を必要としないことがわかっているこの呼び出しを行うと、ユーザーの詳細が正常に返されます。

$user = $this->rest->get('http://twitter.com/users/show', array('screen_name' => 'jamesstoddern'));

ただし、このような方法でタイムラインに接続しようとすると、上記のエラーで失敗します。

$authArray = array(
        'consumer_key' => 'MY KEY HERE',
        'consumer_secret' => 'MY SECRET HERE',
        'username' => 'jamesstoddern',
        'access_token' => 'MY ACCESS TOKEN HERE'
    );

$timeline = $this->rest->get('https://api.twitter.com/1/statuses/home_timeline.json', $authArray);

私は明らかに何か間違ったことをしていますが、私が見つけたすべての例は、自分のアプリケーションを黙って認証するだけではなく、「Twitter でサインイン」ボタンを使用して他のユーザーを認証することに関するものです。

誰かが私にいくつかの指針や、私がやりたいことをする例を教えてくれたら、とてもうれしいです。

私は Codeigniter を使用しており、Phils Sturgeons OAuth spark を試しましたが、私を助けるのに十分な例が見つかりません。私は本当にこのすべてが苦労していると思います。

自分の Twitter リソースを呼び出せるように、自分のアプリケーションをサイレント モードで認証するために必要な手順を誰か説明してください。この概念を理解したら、同じロジックと理解を適用して、たとえば 500px の写真に接続できるはずです。私は twitter 固有のコードを使用したくありません。理論的にはどの API にも接続できるように、これらすべてを可能な限り汎用的にしたいと考えています。

ありがとうございます。長々と質問してすみません。

ジェームズ

4

1 に答える 1