2016-06-16 8 views

Antwort

1

endete ich mit mechanize Juwel für Ruby up

ich selbst Methode in InstagramPage Klasse gemacht:

def self.instagram_client 
    return @instagram_client if @instagram_client.present? && 
     @instagram_client.access_token.present? 

    # Logging in to Instagram 
    url = Instagram.authorize_url(redirect_uri: ENV['INSTAGRAM_REDIRECT_URL'], 
           response_type: 'token') 
    agent = Mechanize.new 
    agent.get(url) 
    agent.page.forms[0]['username'] = ENV['INSTAGRAM_USERNAME'] 
    agent.page.forms[0]['password'] = ENV['INSTAGRAM_PASSWORD'] 
    agent.page.forms[0].submit 

    # Retrieving access_token from url and setting it to Instagram client 
    access_token = agent.page.uri.to_s.split('=')[-1] 
    @instagram_client = Instagram.client(access_token: access_token) 
end 

Jetzt kann ich Client aufrufen, indem InstagramPage.instagram_client läuft

+0

Was die URL Sie ist sind benutzen? Ich versuche Mechanize zu verwenden, um mich auch in meinem Instagram-Konto anzumelden, aber es greift nicht auf das Login-Formular zu. 'agent.get ('https://www.instagram.com/accounts/login/')' aber 'agent.page.forms' ist null. Nicht sicher, was der Deal ist. Es erkennt keine Formulare auf dieser Seite. – iamse7en

+0

andere haben gesagt, dass Sie Mechanize nicht verwenden können, um sich in Instagram einzuloggen, weil es keine Reaktion unterstützt. Am Ende habe ich mich mit watir angemeldet und benötigte Daten abgerufen. funktioniert super. – iamse7en